diff --git a/main/coverage/clover.xml b/main/coverage/clover.xml new file mode 100644 index 0000000000..048e118251 --- /dev/null +++ b/main/coverage/clover.xml @@ -0,0 +1,2088 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/main/coverage/coverage-final.json b/main/coverage/coverage-final.json new file mode 100644 index 0000000000..feed6b3d2c --- /dev/null +++ b/main/coverage/coverage-final.json @@ -0,0 +1,152 @@ +{"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/index.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/index.js","statementMap":{"0":{"start":{"line":1,"column":7},"end":{"line":1,"column":null}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/ActionButton.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/ActionButton.js","statementMap":{"0":{"start":{"line":8,"column":16},"end":{"line":8,"column":29}},"1":{"start":{"line":1,"column":22},"end":{"line":1,"column":null}},"2":{"start":{"line":2,"column":17},"end":{"line":2,"column":null}},"3":{"start":{"line":3,"column":26},"end":{"line":3,"column":null}},"4":{"start":{"line":11,"column":4},"end":{"line":11,"column":null}},"5":{"start":{"line":13,"column":4},"end":{"line":13,"column":null}},"6":{"start":{"line":15,"column":4},"end":{"line":15,"column":null}},"7":{"start":{"line":17,"column":4},"end":{"line":17,"column":null}},"8":{"start":{"line":19,"column":4},"end":{"line":19,"column":null}},"9":{"start":{"line":22,"column":4},"end":{"line":32,"column":null}},"10":{"start":{"line":35,"column":2},"end":{"line":45,"column":null}},"11":{"start":{"line":36,"column":15},"end":{"line":36,"column":null}},"12":{"start":{"line":37,"column":4},"end":{"line":44,"column":null}},"13":{"start":{"line":38,"column":6},"end":{"line":43,"column":null}},"14":{"start":{"line":39,"column":8},"end":{"line":42,"column":null}},"15":{"start":{"line":40,"column":10},"end":{"line":40,"column":null}},"16":{"start":{"line":41,"column":10},"end":{"line":41,"column":null}},"17":{"start":{"line":114,"column":0},"end":{"line":243,"column":null}}},"fnMap":{"0":{"name":"ActionButton","decl":{"start":{"line":8,"column":16},"end":{"line":8,"column":29}},"loc":{"start":{"line":8,"column":34},"end":{"line":112,"column":null}}},"1":{"name":"(anonymous_3)","decl":{"start":{"line":35,"column":12},"end":{"line":35,"column":null}},"loc":{"start":{"line":35,"column":12},"end":{"line":45,"column":null}}},"2":{"name":"(anonymous_4)","decl":{"start":{"line":38,"column":39},"end":{"line":38,"column":40}},"loc":{"start":{"line":38,"column":40},"end":{"line":43,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":22,"column":4},"end":{"line":32,"column":null}},"type":"cond-expr","locations":[{"start":{"line":23,"column":8},"end":{"line":23,"column":null}},{"start":{"line":24,"column":8},"end":{"line":32,"column":null}}]},"1":{"loc":{"start":{"line":24,"column":8},"end":{"line":32,"column":null}},"type":"cond-expr","locations":[{"start":{"line":25,"column":8},"end":{"line":25,"column":null}},{"start":{"line":26,"column":8},"end":{"line":32,"column":null}}]},"2":{"loc":{"start":{"line":26,"column":8},"end":{"line":32,"column":null}},"type":"cond-expr","locations":[{"start":{"line":27,"column":8},"end":{"line":27,"column":null}},{"start":{"line":28,"column":8},"end":{"line":32,"column":null}}]},"3":{"loc":{"start":{"line":28,"column":8},"end":{"line":32,"column":null}},"type":"cond-expr","locations":[{"start":{"line":29,"column":8},"end":{"line":29,"column":null}},{"start":{"line":30,"column":8},"end":{"line":32,"column":null}}]},"4":{"loc":{"start":{"line":30,"column":8},"end":{"line":32,"column":null}},"type":"cond-expr","locations":[{"start":{"line":31,"column":8},"end":{"line":31,"column":null}},{"start":{"line":32,"column":8},"end":{"line":32,"column":null}}]},"5":{"loc":{"start":{"line":37,"column":4},"end":{"line":44,"column":null}},"type":"if","locations":[{"start":{"line":37,"column":4},"end":{"line":44,"column":null}}]},"6":{"loc":{"start":{"line":39,"column":8},"end":{"line":42,"column":null}},"type":"if","locations":[{"start":{"line":39,"column":8},"end":{"line":42,"column":null}}]},"7":{"loc":{"start":{"line":39,"column":12},"end":{"line":39,"column":59}},"type":"binary-expr","locations":[{"start":{"line":39,"column":12},"end":{"line":39,"column":40}},{"start":{"line":39,"column":40},"end":{"line":39,"column":59}}]},"8":{"loc":{"start":{"line":48,"column":4},"end":{"line":75,"column":5}},"type":"cond-expr","locations":[{"start":{"line":48,"column":4},"end":{"line":75,"column":5}}]},"9":{"loc":{"start":{"line":50,"column":21},"end":{"line":50,"column":67}},"type":"cond-expr","locations":[{"start":{"line":50,"column":39},"end":{"line":50,"column":54}},{"start":{"line":50,"column":57},"end":{"line":50,"column":67}}]},"10":{"loc":{"start":{"line":55,"column":15},"end":{"line":55,"column":39}},"type":"binary-expr","locations":[{"start":{"line":55,"column":15},"end":{"line":55,"column":27}},{"start":{"line":55,"column":31},"end":{"line":55,"column":39}}]},"11":{"loc":{"start":{"line":62,"column":7},"end":{"line":64,"column":null}},"type":"cond-expr","locations":[{"start":{"line":63,"column":8},"end":{"line":64,"column":null}},{"start":{"line":64,"column":10},"end":{"line":64,"column":null}}]},"12":{"loc":{"start":{"line":62,"column":7},"end":{"line":62,"column":35}},"type":"binary-expr","locations":[{"start":{"line":62,"column":7},"end":{"line":62,"column":17}},{"start":{"line":62,"column":21},"end":{"line":62,"column":35}}]},"13":{"loc":{"start":{"line":67,"column":7},"end":{"line":72,"column":null}},"type":"cond-expr","locations":[{"start":{"line":68,"column":8},"end":{"line":72,"column":null}},{"start":{"line":72,"column":10},"end":{"line":72,"column":null}}]},"14":{"loc":{"start":{"line":67,"column":7},"end":{"line":67,"column":34}},"type":"binary-expr","locations":[{"start":{"line":67,"column":7},"end":{"line":67,"column":17}},{"start":{"line":67,"column":21},"end":{"line":67,"column":34}}]},"15":{"loc":{"start":{"line":76,"column":24},"end":{"line":76,"column":76}},"type":"cond-expr","locations":[{"start":{"line":76,"column":45},"end":{"line":76,"column":63}},{"start":{"line":76,"column":66},"end":{"line":76,"column":76}}]},"16":{"loc":{"start":{"line":77,"column":21},"end":{"line":77,"column":67}},"type":"cond-expr","locations":[{"start":{"line":77,"column":39},"end":{"line":77,"column":54}},{"start":{"line":77,"column":57},"end":{"line":77,"column":67}}]},"17":{"loc":{"start":{"line":83,"column":15},"end":{"line":83,"column":39}},"type":"binary-expr","locations":[{"start":{"line":83,"column":15},"end":{"line":83,"column":27}},{"start":{"line":83,"column":31},"end":{"line":83,"column":39}}]},"18":{"loc":{"start":{"line":86,"column":32},"end":{"line":86,"column":null}},"type":"cond-expr","locations":[{"start":{"line":86,"column":58},"end":{"line":86,"column":69}},{"start":{"line":86,"column":69},"end":{"line":86,"column":null}}]},"19":{"loc":{"start":{"line":88,"column":7},"end":{"line":90,"column":null}},"type":"cond-expr","locations":[{"start":{"line":89,"column":8},"end":{"line":90,"column":null}},{"start":{"line":90,"column":10},"end":{"line":90,"column":null}}]},"20":{"loc":{"start":{"line":88,"column":7},"end":{"line":88,"column":35}},"type":"binary-expr","locations":[{"start":{"line":88,"column":7},"end":{"line":88,"column":17}},{"start":{"line":88,"column":21},"end":{"line":88,"column":35}}]},"21":{"loc":{"start":{"line":91,"column":7},"end":{"line":98,"column":null}},"type":"cond-expr","locations":[{"start":{"line":92,"column":8},"end":{"line":98,"column":null}},{"start":{"line":98,"column":10},"end":{"line":98,"column":null}}]},"22":{"loc":{"start":{"line":91,"column":7},"end":{"line":91,"column":42}},"type":"binary-expr","locations":[{"start":{"line":91,"column":7},"end":{"line":91,"column":24}},{"start":{"line":91,"column":28},"end":{"line":91,"column":42}}]},"23":{"loc":{"start":{"line":104,"column":7},"end":{"line":109,"column":null}},"type":"cond-expr","locations":[{"start":{"line":105,"column":8},"end":{"line":109,"column":null}},{"start":{"line":109,"column":10},"end":{"line":109,"column":null}}]},"24":{"loc":{"start":{"line":104,"column":7},"end":{"line":104,"column":34}},"type":"binary-expr","locations":[{"start":{"line":104,"column":7},"end":{"line":104,"column":17}},{"start":{"line":104,"column":21},"end":{"line":104,"column":34}}]}},"s":{"0":75,"1":22,"2":22,"3":22,"4":70,"5":70,"6":70,"7":70,"8":70,"9":70,"10":68,"11":68,"12":68,"13":63,"14":1,"15":1,"16":1,"17":22},"f":{"0":70,"1":68,"2":1},"b":{"0":[10,58],"1":[5,53],"2":[1,52],"3":[1,51],"4":[2,49],"5":[63],"6":[1],"7":[1,0],"8":[25],"9":[6,19],"10":[25,17],"11":[0,25],"12":[25,3],"13":[3,22],"14":[25,3],"15":[0,43],"16":[12,31],"17":[43,15],"18":[13,30],"19":[0,43],"20":[43,0],"21":[6,37],"22":[43,6],"23":[0,43],"24":[43,0]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/ActionButton.stories.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/ActionButton.stories.js","statementMap":{"0":{"start":{"line":13,"column":13},"end":{"line":13,"column":19}},"1":{"start":{"line":14,"column":13},"end":{"line":14,"column":17}},"2":{"start":{"line":10,"column":13},"end":{"line":10,"column":20}},"3":{"start":{"line":11,"column":13},"end":{"line":11,"column":22}},"4":{"start":{"line":12,"column":13},"end":{"line":12,"column":22}},"5":{"start":{"line":3,"column":0},"end":{"line":3,"column":15}},"6":{"start":{"line":1,"column":29},"end":{"line":1,"column":null}},"7":{"start":{"line":3,"column":15},"end":{"line":6,"column":2}},"8":{"start":{"line":10,"column":23},"end":{"line":10,"column":null}},"9":{"start":{"line":11,"column":25},"end":{"line":11,"column":null}},"10":{"start":{"line":12,"column":25},"end":{"line":12,"column":null}},"11":{"start":{"line":13,"column":22},"end":{"line":13,"column":null}},"12":{"start":{"line":14,"column":20},"end":{"line":14,"column":null}},"13":{"start":{"line":16,"column":0},"end":{"line":20,"column":null}},"14":{"start":{"line":22,"column":0},"end":{"line":27,"column":null}},"15":{"start":{"line":29,"column":0},"end":{"line":34,"column":null}},"16":{"start":{"line":36,"column":0},"end":{"line":41,"column":null}},"17":{"start":{"line":43,"column":0},"end":{"line":48,"column":null}}},"fnMap":{},"branchMap":{},"s":{"0":3,"1":5,"2":5,"3":3,"4":3,"5":0,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1},"f":{},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/Alert.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/Alert.js","statementMap":{"0":{"start":{"line":11,"column":16},"end":{"line":11,"column":22}},"1":{"start":{"line":1,"column":22},"end":{"line":1,"column":null}},"2":{"start":{"line":2,"column":32},"end":{"line":2,"column":null}},"3":{"start":{"line":3,"column":29},"end":{"line":3,"column":null}},"4":{"start":{"line":41,"column":0},"end":{"line":50,"column":null}}},"fnMap":{"0":{"name":"Alert","decl":{"start":{"line":11,"column":16},"end":{"line":11,"column":22}},"loc":{"start":{"line":11,"column":27},"end":{"line":39,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":16,"column":10},"end":{"line":16,"column":null}},"type":"cond-expr","locations":[{"start":{"line":16,"column":27},"end":{"line":16,"column":48}},{"start":{"line":16,"column":48},"end":{"line":16,"column":null}}]},"1":{"loc":{"start":{"line":21,"column":12},"end":{"line":27,"column":13}},"type":"cond-expr","locations":[{"start":{"line":21,"column":12},"end":{"line":27,"column":13}}]}},"s":{"0":3,"1":1,"2":1,"3":1,"4":1},"f":{"0":2},"b":{"0":[0,2],"1":[0]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/Alert.stories.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/Alert.stories.js","statementMap":{"0":{"start":{"line":10,"column":13},"end":{"line":10,"column":20}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":15}},"2":{"start":{"line":1,"column":22},"end":{"line":1,"column":null}},"3":{"start":{"line":3,"column":15},"end":{"line":6,"column":2}},"4":{"start":{"line":10,"column":23},"end":{"line":10,"column":null}},"5":{"start":{"line":12,"column":0},"end":{"line":15,"column":null}}},"fnMap":{},"branchMap":{},"s":{"0":4,"1":0,"2":1,"3":1,"4":1,"5":1},"f":{},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/Banner.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/Banner.js","statementMap":{"0":{"start":{"line":8,"column":13},"end":{"line":8,"column":19}},"1":{"start":{"line":40,"column":0},"end":{"line":40,"column":15}},"2":{"start":{"line":1,"column":18},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":22},"end":{"line":2,"column":null}},"4":{"start":{"line":8,"column":22},"end":{"line":26,"column":null}},"5":{"start":{"line":28,"column":0},"end":{"line":38,"column":null}},"6":{"start":{"line":40,"column":15},"end":{"line":40,"column":22}}},"fnMap":{"0":{"name":"(anonymous_4)","decl":{"start":{"line":8,"column":22},"end":{"line":8,"column":23}},"loc":{"start":{"line":8,"column":46},"end":{"line":26,"column":null}}}},"branchMap":{},"s":{"0":2,"1":3,"2":9,"3":9,"4":9,"5":9,"6":9},"f":{"0":4},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/Banner.stories.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/Banner.stories.js","statementMap":{"0":{"start":{"line":11,"column":13},"end":{"line":11,"column":20}},"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":15}},"2":{"start":{"line":1,"column":18},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":19},"end":{"line":2,"column":null}},"4":{"start":{"line":4,"column":15},"end":{"line":7,"column":2}},"5":{"start":{"line":11,"column":23},"end":{"line":11,"column":null}},"6":{"start":{"line":13,"column":0},"end":{"line":16,"column":null}}},"fnMap":{},"branchMap":{},"s":{"0":4,"1":0,"2":1,"3":1,"4":1,"5":1,"6":1},"f":{},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/Breadcrumb.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/Breadcrumb.js","statementMap":{"0":{"start":{"line":9,"column":16},"end":{"line":9,"column":27}},"1":{"start":{"line":1,"column":22},"end":{"line":1,"column":null}},"2":{"start":{"line":2,"column":17},"end":{"line":2,"column":null}},"3":{"start":{"line":3,"column":32},"end":{"line":3,"column":null}},"4":{"start":{"line":4,"column":31},"end":{"line":4,"column":null}},"5":{"start":{"line":24,"column":14},"end":{"line":26,"column":null}},"6":{"start":{"line":50,"column":0},"end":{"line":67,"column":null}}},"fnMap":{"0":{"name":"Breadcrumb","decl":{"start":{"line":9,"column":16},"end":{"line":9,"column":27}},"loc":{"start":{"line":9,"column":32},"end":{"line":48,"column":null}}},"1":{"name":"(anonymous_3)","decl":{"start":{"line":23,"column":28},"end":{"line":23,"column":29}},"loc":{"start":{"line":23,"column":35},"end":{"line":43,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":22,"column":9},"end":{"line":44,"column":null}},"type":"cond-expr","locations":[{"start":{"line":23,"column":12},"end":{"line":43,"column":null}},{"start":{"line":44,"column":12},"end":{"line":44,"column":null}}]}},"s":{"0":16,"1":9,"2":9,"3":9,"4":9,"5":9,"6":9},"f":{"0":16,"1":9},"b":{"0":[7,8]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/Breadcrumb.stories.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/Breadcrumb.stories.js","statementMap":{"0":{"start":{"line":10,"column":13},"end":{"line":10,"column":20}},"1":{"start":{"line":11,"column":13},"end":{"line":11,"column":22}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":15}},"3":{"start":{"line":1,"column":27},"end":{"line":1,"column":null}},"4":{"start":{"line":3,"column":15},"end":{"line":6,"column":2}},"5":{"start":{"line":10,"column":23},"end":{"line":10,"column":null}},"6":{"start":{"line":11,"column":25},"end":{"line":11,"column":null}},"7":{"start":{"line":13,"column":0},"end":{"line":19,"column":null}}},"fnMap":{},"branchMap":{},"s":{"0":4,"1":3,"2":0,"3":1,"4":1,"5":1,"6":1,"7":1},"f":{},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/CheckBox.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/CheckBox.js","statementMap":{"0":{"start":{"line":6,"column":16},"end":{"line":6,"column":25}},"1":{"start":{"line":1,"column":22},"end":{"line":1,"column":null}},"2":{"start":{"line":12,"column":28},"end":{"line":16,"column":null}},"3":{"start":{"line":30,"column":10},"end":{"line":33,"column":null}},"4":{"start":{"line":59,"column":0},"end":{"line":128,"column":null}}},"fnMap":{"0":{"name":"CheckBox","decl":{"start":{"line":6,"column":16},"end":{"line":6,"column":25}},"loc":{"start":{"line":11,"column":1},"end":{"line":57,"column":null}}},"1":{"name":"(anonymous_3)","decl":{"start":{"line":29,"column":18},"end":{"line":29,"column":19}},"loc":{"start":{"line":30,"column":10},"end":{"line":33,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":2},"end":{"line":7,"column":17}},"type":"default-arg","locations":[{"start":{"line":7,"column":12},"end":{"line":7,"column":17}}]},"1":{"loc":{"start":{"line":8,"column":2},"end":{"line":8,"column":16}},"type":"default-arg","locations":[{"start":{"line":8,"column":10},"end":{"line":8,"column":16}}]},"2":{"loc":{"start":{"line":9,"column":2},"end":{"line":9,"column":27}},"type":"default-arg","locations":[{"start":{"line":9,"column":22},"end":{"line":9,"column":27}}]},"3":{"loc":{"start":{"line":12,"column":28},"end":{"line":16,"column":null}},"type":"cond-expr","locations":[{"start":{"line":13,"column":6},"end":{"line":15,"column":null}},{"start":{"line":16,"column":6},"end":{"line":16,"column":null}}]},"4":{"loc":{"start":{"line":20,"column":8},"end":{"line":20,"column":null}},"type":"cond-expr","locations":[{"start":{"line":20,"column":26},"end":{"line":20,"column":47}},{"start":{"line":20,"column":50},"end":{"line":20,"column":null}}]},"5":{"loc":{"start":{"line":31,"column":12},"end":{"line":31,"column":null}},"type":"cond-expr","locations":[{"start":{"line":31,"column":33},"end":{"line":31,"column":57}},{"start":{"line":31,"column":60},"end":{"line":31,"column":null}}]},"6":{"loc":{"start":{"line":37,"column":22},"end":{"line":37,"column":null}},"type":"cond-expr","locations":[{"start":{"line":37,"column":36},"end":{"line":37,"column":45}},{"start":{"line":37,"column":45},"end":{"line":37,"column":null}}]},"7":{"loc":{"start":{"line":44,"column":10},"end":{"line":44,"column":null}},"type":"cond-expr","locations":[{"start":{"line":44,"column":25},"end":{"line":44,"column":43}},{"start":{"line":44,"column":43},"end":{"line":44,"column":null}}]},"8":{"loc":{"start":{"line":45,"column":21},"end":{"line":45,"column":72}},"type":"cond-expr","locations":[{"start":{"line":45,"column":35},"end":{"line":45,"column":62}},{"start":{"line":45,"column":62},"end":{"line":45,"column":72}}]},"9":{"loc":{"start":{"line":48,"column":9},"end":{"line":52,"column":23}},"type":"cond-expr","locations":[{"start":{"line":49,"column":10},"end":{"line":52,"column":23}},{"start":{"line":52,"column":12},"end":{"line":52,"column":23}}]}},"s":{"0":72,"1":4,"2":68,"3":6,"4":4},"f":{"0":68,"1":6},"b":{"0":[64],"1":[8],"2":[68],"3":[12,56],"4":[50,18],"5":[4,2],"6":[0,68],"7":[0,68],"8":[0,68],"9":[0,68]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/CheckBox.stories.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/CheckBox.stories.js","statementMap":{"0":{"start":{"line":29,"column":13},"end":{"line":29,"column":20}},"1":{"start":{"line":49,"column":13},"end":{"line":49,"column":21}},"2":{"start":{"line":20,"column":13},"end":{"line":20,"column":22}},"3":{"start":{"line":39,"column":13},"end":{"line":39,"column":25}},"4":{"start":{"line":4,"column":0},"end":{"line":4,"column":15}},"5":{"start":{"line":1,"column":18},"end":{"line":1,"column":null}},"6":{"start":{"line":2,"column":25},"end":{"line":2,"column":null}},"7":{"start":{"line":4,"column":15},"end":{"line":16,"column":2}},"8":{"start":{"line":20,"column":25},"end":{"line":20,"column":null}},"9":{"start":{"line":21,"column":0},"end":{"line":27,"column":null}},"10":{"start":{"line":29,"column":23},"end":{"line":29,"column":null}},"11":{"start":{"line":30,"column":0},"end":{"line":37,"column":null}},"12":{"start":{"line":39,"column":28},"end":{"line":39,"column":null}},"13":{"start":{"line":40,"column":0},"end":{"line":47,"column":null}},"14":{"start":{"line":49,"column":24},"end":{"line":49,"column":null}},"15":{"start":{"line":50,"column":0},"end":{"line":57,"column":null}}},"fnMap":{},"branchMap":{},"s":{"0":6,"1":0,"2":7,"3":0,"4":0,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1},"f":{},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/DSButton.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/DSButton.js","statementMap":{"0":{"start":{"line":6,"column":16},"end":{"line":6,"column":25}},"1":{"start":{"line":1,"column":22},"end":{"line":1,"column":null}},"2":{"start":{"line":2,"column":22},"end":{"line":2,"column":null}},"3":{"start":{"line":15,"column":4},"end":{"line":15,"column":null}},"4":{"start":{"line":17,"column":4},"end":{"line":17,"column":null}},"5":{"start":{"line":19,"column":4},"end":{"line":19,"column":null}},"6":{"start":{"line":21,"column":4},"end":{"line":21,"column":null}},"7":{"start":{"line":23,"column":4},"end":{"line":23,"column":null}},"8":{"start":{"line":25,"column":2},"end":{"line":36,"column":null}},"9":{"start":{"line":100,"column":0},"end":{"line":179,"column":null}}},"fnMap":{"0":{"name":"DSButton","decl":{"start":{"line":6,"column":16},"end":{"line":6,"column":25}},"loc":{"start":{"line":12,"column":1},"end":{"line":98,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":2},"end":{"line":7,"column":13}},"type":"default-arg","locations":[{"start":{"line":7,"column":7},"end":{"line":7,"column":13}}]},"1":{"loc":{"start":{"line":8,"column":2},"end":{"line":8,"column":23}},"type":"default-arg","locations":[{"start":{"line":8,"column":12},"end":{"line":8,"column":23}}]},"2":{"loc":{"start":{"line":9,"column":2},"end":{"line":9,"column":18}},"type":"default-arg","locations":[{"start":{"line":9,"column":9},"end":{"line":9,"column":18}}]},"3":{"loc":{"start":{"line":10,"column":2},"end":{"line":10,"column":17}},"type":"default-arg","locations":[{"start":{"line":10,"column":9},"end":{"line":10,"column":17}}]},"4":{"loc":{"start":{"line":26,"column":4},"end":{"line":36,"column":null}},"type":"cond-expr","locations":[{"start":{"line":27,"column":8},"end":{"line":27,"column":null}},{"start":{"line":28,"column":8},"end":{"line":36,"column":null}}]},"5":{"loc":{"start":{"line":28,"column":8},"end":{"line":36,"column":null}},"type":"cond-expr","locations":[{"start":{"line":29,"column":8},"end":{"line":29,"column":null}},{"start":{"line":30,"column":8},"end":{"line":36,"column":null}}]},"6":{"loc":{"start":{"line":30,"column":8},"end":{"line":36,"column":null}},"type":"cond-expr","locations":[{"start":{"line":31,"column":8},"end":{"line":31,"column":null}},{"start":{"line":32,"column":8},"end":{"line":36,"column":null}}]},"7":{"loc":{"start":{"line":32,"column":8},"end":{"line":36,"column":null}},"type":"cond-expr","locations":[{"start":{"line":33,"column":8},"end":{"line":33,"column":null}},{"start":{"line":34,"column":8},"end":{"line":36,"column":null}}]},"8":{"loc":{"start":{"line":34,"column":8},"end":{"line":36,"column":null}},"type":"cond-expr","locations":[{"start":{"line":35,"column":8},"end":{"line":35,"column":null}},{"start":{"line":36,"column":8},"end":{"line":36,"column":null}}]},"9":{"loc":{"start":{"line":39,"column":4},"end":{"line":68,"column":5}},"type":"cond-expr","locations":[{"start":{"line":39,"column":4},"end":{"line":68,"column":5}}]},"10":{"loc":{"start":{"line":48,"column":7},"end":{"line":52,"column":null}},"type":"cond-expr","locations":[{"start":{"line":49,"column":8},"end":{"line":52,"column":null}},{"start":{"line":52,"column":10},"end":{"line":52,"column":null}}]},"11":{"loc":{"start":{"line":48,"column":7},"end":{"line":48,"column":35}},"type":"binary-expr","locations":[{"start":{"line":48,"column":7},"end":{"line":48,"column":17}},{"start":{"line":48,"column":21},"end":{"line":48,"column":35}}]},"12":{"loc":{"start":{"line":55,"column":10},"end":{"line":55,"column":null}},"type":"cond-expr","locations":[{"start":{"line":55,"column":36},"end":{"line":55,"column":44}},{"start":{"line":55,"column":44},"end":{"line":55,"column":null}}]},"13":{"loc":{"start":{"line":61,"column":7},"end":{"line":65,"column":null}},"type":"cond-expr","locations":[{"start":{"line":62,"column":8},"end":{"line":65,"column":null}},{"start":{"line":65,"column":10},"end":{"line":65,"column":null}}]},"14":{"loc":{"start":{"line":61,"column":7},"end":{"line":61,"column":34}},"type":"binary-expr","locations":[{"start":{"line":61,"column":7},"end":{"line":61,"column":17}},{"start":{"line":61,"column":21},"end":{"line":61,"column":34}}]},"15":{"loc":{"start":{"line":71,"column":8},"end":{"line":71,"column":null}},"type":"cond-expr","locations":[{"start":{"line":71,"column":29},"end":{"line":71,"column":42}},{"start":{"line":71,"column":42},"end":{"line":71,"column":null}}]},"16":{"loc":{"start":{"line":78,"column":7},"end":{"line":84,"column":null}},"type":"cond-expr","locations":[{"start":{"line":79,"column":8},"end":{"line":84,"column":null}},{"start":{"line":84,"column":10},"end":{"line":84,"column":null}}]},"17":{"loc":{"start":{"line":78,"column":7},"end":{"line":78,"column":35}},"type":"binary-expr","locations":[{"start":{"line":78,"column":7},"end":{"line":78,"column":17}},{"start":{"line":78,"column":21},"end":{"line":78,"column":35}}]},"18":{"loc":{"start":{"line":87,"column":7},"end":{"line":95,"column":null}},"type":"cond-expr","locations":[{"start":{"line":88,"column":8},"end":{"line":95,"column":null}},{"start":{"line":95,"column":10},"end":{"line":95,"column":null}}]},"19":{"loc":{"start":{"line":87,"column":7},"end":{"line":87,"column":34}},"type":"binary-expr","locations":[{"start":{"line":87,"column":7},"end":{"line":87,"column":17}},{"start":{"line":87,"column":21},"end":{"line":87,"column":34}}]}},"s":{"0":11,"1":12,"2":12,"3":10,"4":10,"5":10,"6":10,"7":10,"8":10,"9":12},"f":{"0":10},"b":{"0":[4],"1":[0],"2":[0],"3":[8],"4":[6,4],"5":[1,3],"6":[1,2],"7":[1,1],"8":[1,0],"9":[8],"10":[0,8],"11":[8,0],"12":[0,8],"13":[0,8],"14":[8,0],"15":[2,0],"16":[0,2],"17":[2,0],"18":[0,2],"19":[2,0]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/DSButton.stories.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/DSButton.stories.js","statementMap":{"0":{"start":{"line":14,"column":13},"end":{"line":14,"column":19}},"1":{"start":{"line":15,"column":13},"end":{"line":15,"column":17}},"2":{"start":{"line":12,"column":13},"end":{"line":12,"column":20}},"3":{"start":{"line":13,"column":13},"end":{"line":13,"column":22}},"4":{"start":{"line":10,"column":13},"end":{"line":10,"column":22}},"5":{"start":{"line":11,"column":13},"end":{"line":11,"column":26}},"6":{"start":{"line":3,"column":0},"end":{"line":3,"column":15}},"7":{"start":{"line":1,"column":25},"end":{"line":1,"column":null}},"8":{"start":{"line":3,"column":15},"end":{"line":6,"column":2}},"9":{"start":{"line":10,"column":25},"end":{"line":10,"column":null}},"10":{"start":{"line":11,"column":29},"end":{"line":11,"column":null}},"11":{"start":{"line":12,"column":23},"end":{"line":12,"column":null}},"12":{"start":{"line":13,"column":25},"end":{"line":13,"column":null}},"13":{"start":{"line":14,"column":22},"end":{"line":14,"column":null}},"14":{"start":{"line":15,"column":20},"end":{"line":15,"column":null}},"15":{"start":{"line":17,"column":0},"end":{"line":22,"column":null}},"16":{"start":{"line":24,"column":0},"end":{"line":31,"column":null}},"17":{"start":{"line":33,"column":0},"end":{"line":38,"column":null}},"18":{"start":{"line":40,"column":0},"end":{"line":46,"column":null}},"19":{"start":{"line":48,"column":0},"end":{"line":53,"column":null}},"20":{"start":{"line":55,"column":0},"end":{"line":61,"column":null}}},"fnMap":{},"branchMap":{},"s":{"0":2,"1":2,"2":2,"3":2,"4":2,"5":0,"6":0,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1},"f":{},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/DateModified.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/DateModified.js","statementMap":{"0":{"start":{"line":4,"column":16},"end":{"line":4,"column":29}},"1":{"start":{"line":1,"column":22},"end":{"line":1,"column":null}},"2":{"start":{"line":2,"column":31},"end":{"line":2,"column":null}},"3":{"start":{"line":5,"column":16},"end":{"line":5,"column":null}},"4":{"start":{"line":7,"column":22},"end":{"line":7,"column":null}},"5":{"start":{"line":8,"column":2},"end":{"line":12,"column":null}},"6":{"start":{"line":9,"column":4},"end":{"line":11,"column":null}},"7":{"start":{"line":10,"column":6},"end":{"line":10,"column":null}},"8":{"start":{"line":11,"column":11},"end":{"line":11,"column":null}},"9":{"start":{"line":28,"column":0},"end":{"line":31,"column":null}}},"fnMap":{"0":{"name":"DateModified","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":29}},"loc":{"start":{"line":4,"column":74},"end":{"line":26,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":4,"column":31},"end":{"line":4,"column":72}},"type":"default-arg","locations":[{"start":{"line":4,"column":38},"end":{"line":4,"column":72}}]},"1":{"loc":{"start":{"line":8,"column":2},"end":{"line":12,"column":null}},"type":"if","locations":[{"start":{"line":8,"column":2},"end":{"line":12,"column":null}}]},"2":{"loc":{"start":{"line":9,"column":4},"end":{"line":11,"column":null}},"type":"if","locations":[{"start":{"line":9,"column":4},"end":{"line":11,"column":null}},{"start":{"line":11,"column":11},"end":{"line":11,"column":null}}]},"3":{"loc":{"start":{"line":19,"column":10},"end":{"line":21,"column":11}},"type":"cond-expr","locations":[{"start":{"line":19,"column":10},"end":{"line":21,"column":11}}]}},"s":{"0":16,"1":9,"2":9,"3":15,"4":15,"5":15,"6":9,"7":2,"8":7,"9":9},"f":{"0":15},"b":{"0":[6],"1":[9],"2":[2,7],"3":[6]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/DateModified.stories.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/DateModified.stories.js","statementMap":{"0":{"start":{"line":10,"column":13},"end":{"line":10,"column":20}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":15}},"2":{"start":{"line":1,"column":29},"end":{"line":1,"column":null}},"3":{"start":{"line":3,"column":15},"end":{"line":6,"column":2}},"4":{"start":{"line":10,"column":23},"end":{"line":10,"column":null}},"5":{"start":{"line":12,"column":0},"end":{"line":14,"column":null}}},"fnMap":{},"branchMap":{},"s":{"0":5,"1":0,"2":1,"3":1,"4":1,"5":1},"f":{},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/ErrorLabel.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/ErrorLabel.js","statementMap":{"0":{"start":{"line":6,"column":16},"end":{"line":6,"column":27}},"1":{"start":{"line":1,"column":22},"end":{"line":1,"column":null}},"2":{"start":{"line":16,"column":0},"end":{"line":23,"column":null}}},"fnMap":{"0":{"name":"ErrorLabel","decl":{"start":{"line":6,"column":16},"end":{"line":6,"column":27}},"loc":{"start":{"line":6,"column":32},"end":{"line":14,"column":null}}}},"branchMap":{},"s":{"0":7,"1":16,"2":16},"f":{"0":5},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/ErrorLabel.stories.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/ErrorLabel.stories.js","statementMap":{"0":{"start":{"line":11,"column":13},"end":{"line":11,"column":20}},"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":15}},"2":{"start":{"line":1,"column":18},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":27},"end":{"line":2,"column":null}},"4":{"start":{"line":4,"column":15},"end":{"line":7,"column":2}},"5":{"start":{"line":11,"column":23},"end":{"line":11,"column":null}},"6":{"start":{"line":12,"column":0},"end":{"line":14,"column":null}}},"fnMap":{},"branchMap":{},"s":{"0":5,"1":0,"2":1,"3":1,"4":1,"5":1,"6":1},"f":{},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/HTMList.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/HTMList.js","statementMap":{"0":{"start":{"line":3,"column":16},"end":{"line":3,"column":24}},"1":{"start":{"line":1,"column":22},"end":{"line":1,"column":null}},"2":{"start":{"line":4,"column":20},"end":{"line":9,"column":null}},"3":{"start":{"line":5,"column":4},"end":{"line":9,"column":null}},"4":{"start":{"line":7,"column":24},"end":{"line":7,"column":30}},"5":{"start":{"line":9,"column":8},"end":{"line":9,"column":null}},"6":{"start":{"line":21,"column":0},"end":{"line":26,"column":null}}},"fnMap":{"0":{"name":"HTMList","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":24}},"loc":{"start":{"line":3,"column":75},"end":{"line":19,"column":null}}},"1":{"name":"(anonymous_3)","decl":{"start":{"line":4,"column":20},"end":{"line":4,"column":21}},"loc":{"start":{"line":5,"column":4},"end":{"line":9,"column":null}}},"2":{"name":"(anonymous_4)","decl":{"start":{"line":7,"column":14},"end":{"line":7,"column":15}},"loc":{"start":{"line":7,"column":24},"end":{"line":7,"column":30}}},"3":{"name":"(anonymous_5)","decl":{"start":{"line":8,"column":11},"end":{"line":8,"column":12}},"loc":{"start":{"line":9,"column":8},"end":{"line":9,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":3,"column":26},"end":{"line":3,"column":36}},"type":"default-arg","locations":[{"start":{"line":3,"column":32},"end":{"line":3,"column":36}}]},"1":{"loc":{"start":{"line":15,"column":4},"end":{"line":17,"column":5}},"type":"cond-expr","locations":[{"start":{"line":15,"column":4},"end":{"line":17,"column":5}}]}},"s":{"0":7,"1":1,"2":7,"3":7,"4":18,"5":13,"6":1},"f":{"0":7,"1":7,"2":18,"3":13},"b":{"0":[5],"1":[6]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/Image.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/Image.js","statementMap":{"0":{"start":{"line":3,"column":16},"end":{"line":3,"column":22}},"1":{"start":{"line":1,"column":22},"end":{"line":1,"column":null}},"2":{"start":{"line":4,"column":53},"end":{"line":4,"column":null}},"3":{"start":{"line":13,"column":0},"end":{"line":38,"column":null}}},"fnMap":{"0":{"name":"Image","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":22}},"loc":{"start":{"line":3,"column":27},"end":{"line":11,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":4,"column":20},"end":{"line":4,"column":32}},"type":"default-arg","locations":[{"start":{"line":4,"column":30},"end":{"line":4,"column":32}}]},"1":{"loc":{"start":{"line":4,"column":34},"end":{"line":4,"column":48}},"type":"default-arg","locations":[{"start":{"line":4,"column":46},"end":{"line":4,"column":48}}]}},"s":{"0":23,"1":16,"2":23,"3":16},"f":{"0":23},"b":{"0":[20],"1":[4]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/Image.stories.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/Image.stories.js","statementMap":{"0":{"start":{"line":12,"column":13},"end":{"line":12,"column":20}},"1":{"start":{"line":14,"column":13},"end":{"line":14,"column":31}},"2":{"start":{"line":13,"column":13},"end":{"line":13,"column":19}},"3":{"start":{"line":15,"column":13},"end":{"line":15,"column":30}},"4":{"start":{"line":3,"column":0},"end":{"line":3,"column":15}},"5":{"start":{"line":1,"column":22},"end":{"line":1,"column":null}},"6":{"start":{"line":7,"column":22},"end":{"line":7,"column":null}},"7":{"start":{"line":8,"column":23},"end":{"line":8,"column":null}},"8":{"start":{"line":3,"column":15},"end":{"line":6,"column":2}},"9":{"start":{"line":12,"column":23},"end":{"line":12,"column":null}},"10":{"start":{"line":13,"column":22},"end":{"line":13,"column":null}},"11":{"start":{"line":14,"column":34},"end":{"line":14,"column":null}},"12":{"start":{"line":15,"column":33},"end":{"line":15,"column":null}},"13":{"start":{"line":17,"column":0},"end":{"line":21,"column":null}},"14":{"start":{"line":23,"column":0},"end":{"line":28,"column":null}},"15":{"start":{"line":30,"column":0},"end":{"line":34,"column":null}},"16":{"start":{"line":36,"column":0},"end":{"line":41,"column":null}}},"fnMap":{},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1,"4":0,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1},"f":{},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/Link.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/Link.js","statementMap":{"0":{"start":{"line":6,"column":16},"end":{"line":6,"column":21}},"1":{"start":{"line":2,"column":22},"end":{"line":2,"column":null}},"2":{"start":{"line":8,"column":19},"end":{"line":8,"column":null}},"3":{"start":{"line":9,"column":2},"end":{"line":38,"column":null}},"4":{"start":{"line":11,"column":6},"end":{"line":12,"column":null}},"5":{"start":{"line":13,"column":6},"end":{"line":13,"column":null}},"6":{"start":{"line":15,"column":6},"end":{"line":16,"column":null}},"7":{"start":{"line":17,"column":6},"end":{"line":17,"column":null}},"8":{"start":{"line":19,"column":6},"end":{"line":20,"column":null}},"9":{"start":{"line":21,"column":6},"end":{"line":21,"column":null}},"10":{"start":{"line":23,"column":6},"end":{"line":24,"column":null}},"11":{"start":{"line":25,"column":6},"end":{"line":25,"column":null}},"12":{"start":{"line":27,"column":6},"end":{"line":28,"column":null}},"13":{"start":{"line":29,"column":6},"end":{"line":29,"column":null}},"14":{"start":{"line":31,"column":6},"end":{"line":32,"column":null}},"15":{"start":{"line":33,"column":6},"end":{"line":33,"column":null}},"16":{"start":{"line":35,"column":6},"end":{"line":36,"column":null}},"17":{"start":{"line":37,"column":6},"end":{"line":37,"column":null}},"18":{"start":{"line":40,"column":20},"end":{"line":40,"column":null}},"19":{"start":{"line":43,"column":4},"end":{"line":43,"column":null}},"20":{"start":{"line":99,"column":0},"end":{"line":143,"column":null}}},"fnMap":{"0":{"name":"Link","decl":{"start":{"line":6,"column":16},"end":{"line":6,"column":21}},"loc":{"start":{"line":6,"column":63},"end":{"line":97,"column":null}}},"1":{"name":"onKeyDown","decl":{"start":{"line":42,"column":11},"end":{"line":42,"column":null}},"loc":{"start":{"line":42,"column":11},"end":{"line":44,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":23},"end":{"line":6,"column":39}},"type":"default-arg","locations":[{"start":{"line":6,"column":32},"end":{"line":6,"column":39}}]},"1":{"loc":{"start":{"line":6,"column":41},"end":{"line":6,"column":51}},"type":"default-arg","locations":[{"start":{"line":6,"column":48},"end":{"line":6,"column":51}}]},"2":{"loc":{"start":{"line":9,"column":2},"end":{"line":38,"column":null}},"type":"switch","locations":[{"start":{"line":10,"column":4},"end":{"line":13,"column":null}},{"start":{"line":14,"column":4},"end":{"line":17,"column":null}},{"start":{"line":18,"column":4},"end":{"line":21,"column":null}},{"start":{"line":22,"column":4},"end":{"line":25,"column":null}},{"start":{"line":26,"column":4},"end":{"line":29,"column":null}},{"start":{"line":30,"column":4},"end":{"line":33,"column":null}},{"start":{"line":34,"column":4},"end":{"line":37,"column":null}}]},"3":{"loc":{"start":{"line":40,"column":20},"end":{"line":40,"column":null}},"type":"binary-expr","locations":[{"start":{"line":40,"column":20},"end":{"line":40,"column":35}},{"start":{"line":40,"column":39},"end":{"line":40,"column":null}}]},"4":{"loc":{"start":{"line":47,"column":4},"end":{"line":75,"column":5}},"type":"cond-expr","locations":[{"start":{"line":47,"column":4},"end":{"line":75,"column":5}}]},"5":{"loc":{"start":{"line":52,"column":18},"end":{"line":52,"column":47}},"type":"binary-expr","locations":[{"start":{"line":52,"column":18},"end":{"line":52,"column":33}},{"start":{"line":52,"column":37},"end":{"line":52,"column":47}}]},"6":{"loc":{"start":{"line":58,"column":17},"end":{"line":58,"column":null}},"type":"cond-expr","locations":[{"start":{"line":58,"column":33},"end":{"line":58,"column":46}},{"start":{"line":58,"column":49},"end":{"line":58,"column":null}}]},"7":{"loc":{"start":{"line":65,"column":25},"end":{"line":65,"column":null}},"type":"cond-expr","locations":[{"start":{"line":65,"column":38},"end":{"line":65,"column":63}},{"start":{"line":65,"column":63},"end":{"line":65,"column":null}}]},"8":{"loc":{"start":{"line":82,"column":18},"end":{"line":82,"column":47}},"type":"binary-expr","locations":[{"start":{"line":82,"column":18},"end":{"line":82,"column":33}},{"start":{"line":82,"column":37},"end":{"line":82,"column":47}}]},"9":{"loc":{"start":{"line":84,"column":15},"end":{"line":84,"column":null}},"type":"cond-expr","locations":[{"start":{"line":84,"column":31},"end":{"line":84,"column":44}},{"start":{"line":84,"column":47},"end":{"line":84,"column":null}}]},"10":{"loc":{"start":{"line":88,"column":23},"end":{"line":88,"column":null}},"type":"cond-expr","locations":[{"start":{"line":88,"column":36},"end":{"line":88,"column":61}},{"start":{"line":88,"column":61},"end":{"line":88,"column":null}}]}},"s":{"0":349,"1":13,"2":348,"3":348,"4":1,"5":1,"6":1,"7":1,"8":66,"9":66,"10":273,"11":273,"12":1,"13":1,"14":1,"15":1,"16":5,"17":5,"18":348,"19":0,"20":13},"f":{"0":348,"1":0},"b":{"0":[322],"1":[3],"2":[1,1,66,273,1,1,5],"3":[348,348],"4":[0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[348,348],"9":[0,348],"10":[0,348]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/Link.stories.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/Link.stories.js","statementMap":{"0":{"start":{"line":14,"column":13},"end":{"line":14,"column":28}},"1":{"start":{"line":15,"column":13},"end":{"line":15,"column":27}},"2":{"start":{"line":10,"column":13},"end":{"line":10,"column":20}},"3":{"start":{"line":13,"column":13},"end":{"line":13,"column":27}},"4":{"start":{"line":11,"column":13},"end":{"line":11,"column":36}},"5":{"start":{"line":12,"column":13},"end":{"line":12,"column":22}},"6":{"start":{"line":3,"column":0},"end":{"line":3,"column":15}},"7":{"start":{"line":1,"column":21},"end":{"line":1,"column":null}},"8":{"start":{"line":3,"column":15},"end":{"line":6,"column":2}},"9":{"start":{"line":10,"column":23},"end":{"line":10,"column":null}},"10":{"start":{"line":11,"column":39},"end":{"line":11,"column":null}},"11":{"start":{"line":12,"column":25},"end":{"line":12,"column":null}},"12":{"start":{"line":13,"column":30},"end":{"line":13,"column":null}},"13":{"start":{"line":14,"column":31},"end":{"line":14,"column":null}},"14":{"start":{"line":15,"column":30},"end":{"line":15,"column":null}},"15":{"start":{"line":17,"column":0},"end":{"line":21,"column":null}},"16":{"start":{"line":23,"column":0},"end":{"line":28,"column":null}},"17":{"start":{"line":30,"column":0},"end":{"line":35,"column":null}},"18":{"start":{"line":37,"column":0},"end":{"line":42,"column":null}},"19":{"start":{"line":44,"column":0},"end":{"line":49,"column":null}},"20":{"start":{"line":51,"column":0},"end":{"line":56,"column":null}}},"fnMap":{},"branchMap":{},"s":{"0":3,"1":3,"2":5,"3":3,"4":3,"5":3,"6":0,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1},"f":{},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/MultiTextField.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/MultiTextField.js","statementMap":{"0":{"start":{"line":8,"column":16},"end":{"line":8,"column":31}},"1":{"start":{"line":1,"column":22},"end":{"line":1,"column":null}},"2":{"start":{"line":2,"column":27},"end":{"line":2,"column":null}},"3":{"start":{"line":3,"column":31},"end":{"line":3,"column":null}},"4":{"start":{"line":9,"column":16},"end":{"line":9,"column":null}},"5":{"start":{"line":41,"column":25},"end":{"line":41,"column":null}},"6":{"start":{"line":57,"column":0},"end":{"line":141,"column":null}}},"fnMap":{"0":{"name":"MultiTextField","decl":{"start":{"line":8,"column":16},"end":{"line":8,"column":31}},"loc":{"start":{"line":8,"column":77},"end":{"line":55,"column":null}}},"1":{"name":"(anonymous_3)","decl":{"start":{"line":41,"column":18},"end":{"line":41,"column":19}},"loc":{"start":{"line":41,"column":25},"end":{"line":41,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":33},"end":{"line":8,"column":50}},"type":"default-arg","locations":[{"start":{"line":8,"column":46},"end":{"line":8,"column":50}}]},"1":{"loc":{"start":{"line":8,"column":52},"end":{"line":8,"column":65}},"type":"default-arg","locations":[{"start":{"line":8,"column":59},"end":{"line":8,"column":65}}]},"2":{"loc":{"start":{"line":14,"column":8},"end":{"line":14,"column":null}},"type":"cond-expr","locations":[{"start":{"line":14,"column":26},"end":{"line":14,"column":47}},{"start":{"line":14,"column":50},"end":{"line":14,"column":null}}]},"3":{"loc":{"start":{"line":19,"column":10},"end":{"line":19,"column":null}},"type":"cond-expr","locations":[{"start":{"line":19,"column":28},"end":{"line":19,"column":42}},{"start":{"line":19,"column":42},"end":{"line":19,"column":null}}]},"4":{"loc":{"start":{"line":23,"column":9},"end":{"line":27,"column":23}},"type":"cond-expr","locations":[{"start":{"line":24,"column":10},"end":{"line":27,"column":23}},{"start":{"line":27,"column":12},"end":{"line":27,"column":23}}]},"5":{"loc":{"start":{"line":33,"column":7},"end":{"line":33,"column":null}},"type":"cond-expr","locations":[{"start":{"line":33,"column":21},"end":{"line":33,"column":null}},{"start":{"line":33,"column":60},"end":{"line":33,"column":null}}]},"6":{"loc":{"start":{"line":36,"column":10},"end":{"line":36,"column":null}},"type":"cond-expr","locations":[{"start":{"line":36,"column":24},"end":{"line":36,"column":52}},{"start":{"line":36,"column":52},"end":{"line":36,"column":null}}]}},"s":{"0":5,"1":3,"2":3,"3":3,"4":4,"5":1,"6":3},"f":{"0":4,"1":1},"b":{"0":[4],"1":[3],"2":[0,4],"3":[1,3],"4":[0,4],"5":[0,4],"6":[0,4]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/MultiTextField.stories.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/MultiTextField.stories.js","statementMap":{"0":{"start":{"line":29,"column":13},"end":{"line":29,"column":22}},"1":{"start":{"line":39,"column":13},"end":{"line":39,"column":21}},"2":{"start":{"line":20,"column":13},"end":{"line":20,"column":20}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":15}},"4":{"start":{"line":1,"column":18},"end":{"line":1,"column":null}},"5":{"start":{"line":2,"column":31},"end":{"line":2,"column":null}},"6":{"start":{"line":4,"column":15},"end":{"line":16,"column":2}},"7":{"start":{"line":20,"column":23},"end":{"line":20,"column":null}},"8":{"start":{"line":21,"column":0},"end":{"line":27,"column":null}},"9":{"start":{"line":29,"column":25},"end":{"line":29,"column":null}},"10":{"start":{"line":30,"column":0},"end":{"line":37,"column":null}},"11":{"start":{"line":39,"column":24},"end":{"line":39,"column":null}},"12":{"start":{"line":40,"column":0},"end":{"line":49,"column":null}}},"fnMap":{},"branchMap":{},"s":{"0":0,"1":0,"2":4,"3":0,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1},"f":{},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/ProjectInfo.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/ProjectInfo.js","statementMap":{"0":{"start":{"line":4,"column":16},"end":{"line":4,"column":28}},"1":{"start":{"line":1,"column":22},"end":{"line":1,"column":null}},"2":{"start":{"line":2,"column":25},"end":{"line":2,"column":null}},"3":{"start":{"line":40,"column":0},"end":{"line":47,"column":null}}},"fnMap":{"0":{"name":"ProjectInfo","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":28}},"loc":{"start":{"line":4,"column":33},"end":{"line":38,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":11},"end":{"line":10,"column":null}},"type":"binary-expr","locations":[{"start":{"line":10,"column":11},"end":{"line":10,"column":28}},{"start":{"line":10,"column":32},"end":{"line":10,"column":null}}]},"1":{"loc":{"start":{"line":14,"column":11},"end":{"line":14,"column":null}},"type":"binary-expr","locations":[{"start":{"line":14,"column":11},"end":{"line":14,"column":26}},{"start":{"line":14,"column":30},"end":{"line":14,"column":null}}]}},"s":{"0":9,"1":7,"2":7,"3":7},"f":{"0":8},"b":{"0":[8,8],"1":[8,2]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/ProjectInfo.stories.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/ProjectInfo.stories.js","statementMap":{"0":{"start":{"line":10,"column":13},"end":{"line":10,"column":20}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":15}},"2":{"start":{"line":1,"column":28},"end":{"line":1,"column":null}},"3":{"start":{"line":3,"column":15},"end":{"line":6,"column":2}},"4":{"start":{"line":10,"column":23},"end":{"line":10,"column":null}},"5":{"start":{"line":12,"column":0},"end":{"line":17,"column":null}}},"fnMap":{},"branchMap":{},"s":{"0":4,"1":0,"2":1,"3":1,"4":1,"5":1},"f":{},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/RadioButton.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/RadioButton.js","statementMap":{"0":{"start":{"line":6,"column":16},"end":{"line":6,"column":28}},"1":{"start":{"line":1,"column":22},"end":{"line":1,"column":null}},"2":{"start":{"line":7,"column":28},"end":{"line":13,"column":null}},"3":{"start":{"line":23,"column":10},"end":{"line":23,"column":null}},"4":{"start":{"line":26,"column":10},"end":{"line":32,"column":null}},"5":{"start":{"line":27,"column":12},"end":{"line":27,"column":null}},"6":{"start":{"line":28,"column":12},"end":{"line":30,"column":null}},"7":{"start":{"line":29,"column":14},"end":{"line":29,"column":null}},"8":{"start":{"line":31,"column":12},"end":{"line":31,"column":null}},"9":{"start":{"line":51,"column":0},"end":{"line":111,"column":null}}},"fnMap":{"0":{"name":"RadioButton","decl":{"start":{"line":6,"column":16},"end":{"line":6,"column":28}},"loc":{"start":{"line":6,"column":57},"end":{"line":49,"column":null}}},"1":{"name":"(anonymous_3)","decl":{"start":{"line":22,"column":18},"end":{"line":22,"column":19}},"loc":{"start":{"line":22,"column":19},"end":{"line":24,"column":null}}},"2":{"name":"(anonymous_4)","decl":{"start":{"line":25,"column":17},"end":{"line":25,"column":18}},"loc":{"start":{"line":25,"column":18},"end":{"line":33,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":30},"end":{"line":6,"column":45}},"type":"default-arg","locations":[{"start":{"line":6,"column":40},"end":{"line":6,"column":45}}]},"1":{"loc":{"start":{"line":7,"column":28},"end":{"line":13,"column":null}},"type":"cond-expr","locations":[{"start":{"line":8,"column":6},"end":{"line":10,"column":null}},{"start":{"line":11,"column":6},"end":{"line":13,"column":null}}]},"2":{"loc":{"start":{"line":12,"column":24},"end":{"line":12,"column":null}},"type":"binary-expr","locations":[{"start":{"line":12,"column":24},"end":{"line":12,"column":35}},{"start":{"line":12,"column":35},"end":{"line":12,"column":null}}]},"3":{"loc":{"start":{"line":26,"column":10},"end":{"line":32,"column":null}},"type":"if","locations":[{"start":{"line":26,"column":10},"end":{"line":32,"column":null}}]},"4":{"loc":{"start":{"line":28,"column":12},"end":{"line":30,"column":null}},"type":"if","locations":[{"start":{"line":28,"column":12},"end":{"line":30,"column":null}}]},"5":{"loc":{"start":{"line":41,"column":10},"end":{"line":41,"column":null}},"type":"cond-expr","locations":[{"start":{"line":41,"column":31},"end":{"line":41,"column":49}},{"start":{"line":41,"column":49},"end":{"line":41,"column":null}}]},"6":{"loc":{"start":{"line":42,"column":11},"end":{"line":42,"column":52}},"type":"cond-expr","locations":[{"start":{"line":42,"column":31},"end":{"line":42,"column":49}},{"start":{"line":42,"column":49},"end":{"line":42,"column":52}}]}},"s":{"0":17,"1":2,"2":16,"3":3,"4":1,"5":1,"6":1,"7":0,"8":1,"9":2},"f":{"0":16,"1":3,"2":1},"b":{"0":[6],"1":[15,1],"2":[1,1],"3":[1],"4":[0],"5":[4,12],"6":[4,12]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/RadioButton.stories.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/RadioButton.stories.js","statementMap":{"0":{"start":{"line":20,"column":13},"end":{"line":20,"column":20}},"1":{"start":{"line":11,"column":13},"end":{"line":11,"column":20}},"2":{"start":{"line":50,"column":13},"end":{"line":50,"column":24}},"3":{"start":{"line":40,"column":13},"end":{"line":40,"column":25}},"4":{"start":{"line":30,"column":13},"end":{"line":30,"column":25}},"5":{"start":{"line":4,"column":0},"end":{"line":4,"column":15}},"6":{"start":{"line":1,"column":18},"end":{"line":1,"column":null}},"7":{"start":{"line":2,"column":28},"end":{"line":2,"column":null}},"8":{"start":{"line":4,"column":15},"end":{"line":7,"column":2}},"9":{"start":{"line":11,"column":23},"end":{"line":11,"column":null}},"10":{"start":{"line":12,"column":0},"end":{"line":18,"column":null}},"11":{"start":{"line":20,"column":23},"end":{"line":20,"column":null}},"12":{"start":{"line":21,"column":0},"end":{"line":28,"column":null}},"13":{"start":{"line":30,"column":28},"end":{"line":30,"column":null}},"14":{"start":{"line":31,"column":0},"end":{"line":38,"column":null}},"15":{"start":{"line":40,"column":28},"end":{"line":40,"column":null}},"16":{"start":{"line":41,"column":0},"end":{"line":48,"column":null}},"17":{"start":{"line":50,"column":27},"end":{"line":50,"column":null}},"18":{"start":{"line":51,"column":0},"end":{"line":58,"column":null}}},"fnMap":{},"branchMap":{},"s":{"0":2,"1":12,"2":3,"3":3,"4":3,"5":0,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1},"f":{},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/RadioField.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/RadioField.js","statementMap":{"0":{"start":{"line":6,"column":16},"end":{"line":6,"column":27}},"1":{"start":{"line":1,"column":22},"end":{"line":1,"column":null}},"2":{"start":{"line":7,"column":28},"end":{"line":11,"column":null}},"3":{"start":{"line":25,"column":10},"end":{"line":28,"column":null}},"4":{"start":{"line":42,"column":23},"end":{"line":42,"column":null}},"5":{"start":{"line":50,"column":0},"end":{"line":109,"column":null}}},"fnMap":{"0":{"name":"RadioField","decl":{"start":{"line":6,"column":16},"end":{"line":6,"column":27}},"loc":{"start":{"line":6,"column":72},"end":{"line":48,"column":null}}},"1":{"name":"(anonymous_3)","decl":{"start":{"line":24,"column":18},"end":{"line":24,"column":19}},"loc":{"start":{"line":25,"column":10},"end":{"line":28,"column":null}}},"2":{"name":"(anonymous_4)","decl":{"start":{"line":42,"column":17},"end":{"line":42,"column":23}},"loc":{"start":{"line":42,"column":23},"end":{"line":42,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":29},"end":{"line":6,"column":44}},"type":"default-arg","locations":[{"start":{"line":6,"column":39},"end":{"line":6,"column":44}}]},"1":{"loc":{"start":{"line":6,"column":46},"end":{"line":6,"column":60}},"type":"default-arg","locations":[{"start":{"line":6,"column":54},"end":{"line":6,"column":60}}]},"2":{"loc":{"start":{"line":7,"column":28},"end":{"line":11,"column":null}},"type":"cond-expr","locations":[{"start":{"line":8,"column":6},"end":{"line":10,"column":null}},{"start":{"line":11,"column":6},"end":{"line":11,"column":null}}]},"3":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":null}},"type":"cond-expr","locations":[{"start":{"line":15,"column":26},"end":{"line":15,"column":47}},{"start":{"line":15,"column":50},"end":{"line":15,"column":null}}]},"4":{"loc":{"start":{"line":26,"column":12},"end":{"line":26,"column":null}},"type":"cond-expr","locations":[{"start":{"line":26,"column":33},"end":{"line":26,"column":57}},{"start":{"line":26,"column":60},"end":{"line":26,"column":null}}]},"5":{"loc":{"start":{"line":32,"column":22},"end":{"line":32,"column":null}},"type":"cond-expr","locations":[{"start":{"line":32,"column":36},"end":{"line":32,"column":45}},{"start":{"line":32,"column":45},"end":{"line":32,"column":null}}]},"6":{"loc":{"start":{"line":39,"column":10},"end":{"line":39,"column":null}},"type":"cond-expr","locations":[{"start":{"line":39,"column":24},"end":{"line":39,"column":51}},{"start":{"line":39,"column":51},"end":{"line":39,"column":null}}]}},"s":{"0":10,"1":4,"2":8,"3":1,"4":0,"5":4},"f":{"0":8,"1":1,"2":0},"b":{"0":[4],"1":[2],"2":[8,0],"3":[0,8],"4":[0,1],"5":[0,8],"6":[0,8]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/RadioField.stories.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/RadioField.stories.js","statementMap":{"0":{"start":{"line":29,"column":13},"end":{"line":29,"column":20}},"1":{"start":{"line":20,"column":13},"end":{"line":20,"column":22}},"2":{"start":{"line":39,"column":13},"end":{"line":39,"column":25}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":15}},"4":{"start":{"line":1,"column":18},"end":{"line":1,"column":null}},"5":{"start":{"line":2,"column":27},"end":{"line":2,"column":null}},"6":{"start":{"line":4,"column":15},"end":{"line":16,"column":2}},"7":{"start":{"line":20,"column":25},"end":{"line":20,"column":null}},"8":{"start":{"line":21,"column":0},"end":{"line":27,"column":null}},"9":{"start":{"line":29,"column":23},"end":{"line":29,"column":null}},"10":{"start":{"line":30,"column":0},"end":{"line":37,"column":null}},"11":{"start":{"line":39,"column":28},"end":{"line":39,"column":null}},"12":{"start":{"line":40,"column":0},"end":{"line":47,"column":null}}},"fnMap":{},"branchMap":{},"s":{"0":4,"1":7,"2":0,"3":0,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1},"f":{},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/SearchBar.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/SearchBar.js","statementMap":{"0":{"start":{"line":6,"column":16},"end":{"line":6,"column":26}},"1":{"start":{"line":1,"column":22},"end":{"line":1,"column":null}},"2":{"start":{"line":33,"column":0},"end":{"line":53,"column":null}}},"fnMap":{"0":{"name":"SearchBar","decl":{"start":{"line":6,"column":16},"end":{"line":6,"column":26}},"loc":{"start":{"line":6,"column":31},"end":{"line":31,"column":null}}}},"branchMap":{},"s":{"0":3,"1":1,"2":1},"f":{"0":2},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/SearchBar.stories.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/SearchBar.stories.js","statementMap":{"0":{"start":{"line":10,"column":13},"end":{"line":10,"column":20}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":15}},"2":{"start":{"line":1,"column":26},"end":{"line":1,"column":null}},"3":{"start":{"line":3,"column":15},"end":{"line":6,"column":2}},"4":{"start":{"line":10,"column":23},"end":{"line":10,"column":null}},"5":{"start":{"line":12,"column":0},"end":{"line":14,"column":null}}},"fnMap":{},"branchMap":{},"s":{"0":4,"1":0,"2":1,"3":1,"4":1,"5":1},"f":{},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/SelectField.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/SelectField.js","statementMap":{"0":{"start":{"line":5,"column":16},"end":{"line":5,"column":28}},"1":{"start":{"line":1,"column":22},"end":{"line":1,"column":null}},"2":{"start":{"line":2,"column":27},"end":{"line":2,"column":null}},"3":{"start":{"line":3,"column":31},"end":{"line":3,"column":null}},"4":{"start":{"line":6,"column":16},"end":{"line":6,"column":null}},"5":{"start":{"line":8,"column":28},"end":{"line":12,"column":null}},"6":{"start":{"line":14,"column":2},"end":{"line":19,"column":null}},"7":{"start":{"line":15,"column":4},"end":{"line":18,"column":null}},"8":{"start":{"line":16,"column":21},"end":{"line":16,"column":null}},"9":{"start":{"line":17,"column":6},"end":{"line":17,"column":null}},"10":{"start":{"line":49,"column":25},"end":{"line":49,"column":null}},"11":{"start":{"line":61,"column":10},"end":{"line":62,"column":29}},"12":{"start":{"line":84,"column":0},"end":{"line":162,"column":null}}},"fnMap":{"0":{"name":"SelectField","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":28}},"loc":{"start":{"line":5,"column":52},"end":{"line":82,"column":null}}},"1":{"name":"(anonymous_3)","decl":{"start":{"line":15,"column":23},"end":{"line":15,"column":33}},"loc":{"start":{"line":15,"column":37},"end":{"line":18,"column":null}}},"2":{"name":"(anonymous_4)","decl":{"start":{"line":49,"column":18},"end":{"line":49,"column":19}},"loc":{"start":{"line":49,"column":25},"end":{"line":49,"column":null}}},"3":{"name":"(anonymous_5)","decl":{"start":{"line":60,"column":27},"end":{"line":60,"column":28}},"loc":{"start":{"line":60,"column":47},"end":{"line":66,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":30},"end":{"line":5,"column":40}},"type":"default-arg","locations":[{"start":{"line":5,"column":38},"end":{"line":5,"column":40}}]},"1":{"loc":{"start":{"line":8,"column":28},"end":{"line":12,"column":null}},"type":"cond-expr","locations":[{"start":{"line":9,"column":6},"end":{"line":11,"column":null}},{"start":{"line":12,"column":6},"end":{"line":12,"column":null}}]},"2":{"loc":{"start":{"line":14,"column":2},"end":{"line":19,"column":null}},"type":"if","locations":[{"start":{"line":14,"column":2},"end":{"line":19,"column":null}}]},"3":{"loc":{"start":{"line":24,"column":8},"end":{"line":24,"column":null}},"type":"cond-expr","locations":[{"start":{"line":24,"column":26},"end":{"line":24,"column":47}},{"start":{"line":24,"column":50},"end":{"line":24,"column":null}}]},"4":{"loc":{"start":{"line":29,"column":10},"end":{"line":29,"column":null}},"type":"cond-expr","locations":[{"start":{"line":29,"column":28},"end":{"line":29,"column":42}},{"start":{"line":29,"column":42},"end":{"line":29,"column":null}}]},"5":{"loc":{"start":{"line":33,"column":9},"end":{"line":37,"column":23}},"type":"cond-expr","locations":[{"start":{"line":34,"column":10},"end":{"line":37,"column":23}},{"start":{"line":37,"column":12},"end":{"line":37,"column":23}}]},"6":{"loc":{"start":{"line":40,"column":7},"end":{"line":40,"column":null}},"type":"cond-expr","locations":[{"start":{"line":40,"column":21},"end":{"line":40,"column":null}},{"start":{"line":40,"column":60},"end":{"line":40,"column":null}}]},"7":{"loc":{"start":{"line":43,"column":10},"end":{"line":43,"column":null}},"type":"cond-expr","locations":[{"start":{"line":43,"column":24},"end":{"line":43,"column":52}},{"start":{"line":43,"column":52},"end":{"line":43,"column":null}}]},"8":{"loc":{"start":{"line":48,"column":22},"end":{"line":48,"column":null}},"type":"cond-expr","locations":[{"start":{"line":48,"column":36},"end":{"line":48,"column":45}},{"start":{"line":48,"column":45},"end":{"line":48,"column":null}}]},"9":{"loc":{"start":{"line":67,"column":9},"end":{"line":77,"column":null}},"type":"cond-expr","locations":[{"start":{"line":68,"column":10},"end":{"line":69,"column":null}},{"start":{"line":77,"column":10},"end":{"line":77,"column":null}}]}},"s":{"0":4,"1":1,"2":1,"3":1,"4":2,"5":2,"6":2,"7":2,"8":6,"9":6,"10":0,"11":8,"12":1},"f":{"0":2,"1":6,"2":0,"3":8},"b":{"0":[2],"1":[0,2],"2":[2],"3":[0,2],"4":[0,2],"5":[0,2],"6":[0,2],"7":[0,2],"8":[0,2],"9":[0,2]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/SelectField.stories.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/SelectField.stories.js","statementMap":{"0":{"start":{"line":20,"column":13},"end":{"line":20,"column":20}},"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":15}},"2":{"start":{"line":1,"column":18},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":28},"end":{"line":2,"column":null}},"4":{"start":{"line":4,"column":15},"end":{"line":16,"column":2}},"5":{"start":{"line":20,"column":23},"end":{"line":20,"column":null}},"6":{"start":{"line":21,"column":0},"end":{"line":49,"column":null}}},"fnMap":{},"branchMap":{},"s":{"0":4,"1":0,"2":1,"3":1,"4":1,"5":1,"6":1},"f":{},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/TableOfContents.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/TableOfContents.js","statementMap":{"0":{"start":{"line":3,"column":16},"end":{"line":3,"column":32}},"1":{"start":{"line":1,"column":22},"end":{"line":1,"column":null}},"2":{"start":{"line":10,"column":12},"end":{"line":10,"column":null}},"3":{"start":{"line":25,"column":0},"end":{"line":34,"column":null}}},"fnMap":{"0":{"name":"TableOfContents","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":32}},"loc":{"start":{"line":3,"column":37},"end":{"line":23,"column":null}}},"1":{"name":"(anonymous_3)","decl":{"start":{"line":9,"column":30},"end":{"line":9,"column":31}},"loc":{"start":{"line":10,"column":12},"end":{"line":10,"column":null}}}},"branchMap":{},"s":{"0":3,"1":1,"2":2,"3":1},"f":{"0":2,"1":2},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/TableOfContents.stories.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/TableOfContents.stories.js","statementMap":{"0":{"start":{"line":10,"column":13},"end":{"line":10,"column":20}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":15}},"2":{"start":{"line":1,"column":32},"end":{"line":1,"column":null}},"3":{"start":{"line":3,"column":15},"end":{"line":6,"column":2}},"4":{"start":{"line":10,"column":23},"end":{"line":10,"column":null}},"5":{"start":{"line":12,"column":0},"end":{"line":15,"column":null}}},"fnMap":{},"branchMap":{},"s":{"0":4,"1":0,"2":1,"3":1,"4":1,"5":1},"f":{},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/TextField.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/TextField.js","statementMap":{"0":{"start":{"line":8,"column":16},"end":{"line":8,"column":26}},"1":{"start":{"line":1,"column":22},"end":{"line":1,"column":null}},"2":{"start":{"line":2,"column":27},"end":{"line":2,"column":null}},"3":{"start":{"line":3,"column":31},"end":{"line":3,"column":null}},"4":{"start":{"line":9,"column":16},"end":{"line":9,"column":null}},"5":{"start":{"line":11,"column":28},"end":{"line":15,"column":null}},"6":{"start":{"line":61,"column":25},"end":{"line":61,"column":null}},"7":{"start":{"line":70,"column":0},"end":{"line":170,"column":null}}},"fnMap":{"0":{"name":"TextField","decl":{"start":{"line":8,"column":16},"end":{"line":8,"column":26}},"loc":{"start":{"line":8,"column":65},"end":{"line":69,"column":null}}},"1":{"name":"(anonymous_3)","decl":{"start":{"line":61,"column":18},"end":{"line":61,"column":19}},"loc":{"start":{"line":61,"column":25},"end":{"line":61,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":28},"end":{"line":8,"column":38}},"type":"default-arg","locations":[{"start":{"line":8,"column":36},"end":{"line":8,"column":38}}]},"1":{"loc":{"start":{"line":8,"column":40},"end":{"line":8,"column":53}},"type":"default-arg","locations":[{"start":{"line":8,"column":47},"end":{"line":8,"column":53}}]},"2":{"loc":{"start":{"line":11,"column":28},"end":{"line":15,"column":null}},"type":"cond-expr","locations":[{"start":{"line":12,"column":6},"end":{"line":14,"column":null}},{"start":{"line":15,"column":6},"end":{"line":15,"column":null}}]},"3":{"loc":{"start":{"line":19,"column":8},"end":{"line":19,"column":null}},"type":"cond-expr","locations":[{"start":{"line":19,"column":26},"end":{"line":19,"column":47}},{"start":{"line":19,"column":50},"end":{"line":19,"column":null}}]},"4":{"loc":{"start":{"line":24,"column":10},"end":{"line":24,"column":null}},"type":"cond-expr","locations":[{"start":{"line":24,"column":28},"end":{"line":24,"column":42}},{"start":{"line":24,"column":42},"end":{"line":24,"column":null}}]},"5":{"loc":{"start":{"line":28,"column":9},"end":{"line":32,"column":23}},"type":"cond-expr","locations":[{"start":{"line":29,"column":10},"end":{"line":32,"column":23}},{"start":{"line":32,"column":12},"end":{"line":32,"column":23}}]},"6":{"loc":{"start":{"line":35,"column":7},"end":{"line":43,"column":null}},"type":"cond-expr","locations":[{"start":{"line":36,"column":8},"end":{"line":43,"column":null}},{"start":{"line":43,"column":8},"end":{"line":43,"column":null}}]},"7":{"loc":{"start":{"line":46,"column":7},"end":{"line":46,"column":null}},"type":"cond-expr","locations":[{"start":{"line":46,"column":21},"end":{"line":46,"column":null}},{"start":{"line":46,"column":60},"end":{"line":46,"column":null}}]},"8":{"loc":{"start":{"line":49,"column":10},"end":{"line":49,"column":null}},"type":"cond-expr","locations":[{"start":{"line":49,"column":24},"end":{"line":49,"column":52}},{"start":{"line":49,"column":52},"end":{"line":49,"column":null}}]},"9":{"loc":{"start":{"line":50,"column":12},"end":{"line":50,"column":43}},"type":"cond-expr","locations":[{"start":{"line":50,"column":28},"end":{"line":50,"column":40}},{"start":{"line":50,"column":40},"end":{"line":50,"column":43}}]},"10":{"loc":{"start":{"line":60,"column":22},"end":{"line":60,"column":null}},"type":"cond-expr","locations":[{"start":{"line":60,"column":36},"end":{"line":60,"column":45}},{"start":{"line":60,"column":45},"end":{"line":60,"column":null}}]}},"s":{"0":7,"1":3,"2":3,"3":3,"4":6,"5":6,"6":2,"7":3},"f":{"0":6,"1":2},"b":{"0":[6],"1":[6],"2":[3,3],"3":[0,6],"4":[1,5],"5":[0,6],"6":[0,6],"7":[0,6],"8":[0,6],"9":[0,6],"10":[0,6]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/TextField.stories.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/atoms/TextField.stories.js","statementMap":{"0":{"start":{"line":39,"column":13},"end":{"line":39,"column":22}},"1":{"start":{"line":20,"column":13},"end":{"line":20,"column":20}},"2":{"start":{"line":29,"column":13},"end":{"line":29,"column":25}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":15}},"4":{"start":{"line":1,"column":18},"end":{"line":1,"column":null}},"5":{"start":{"line":2,"column":26},"end":{"line":2,"column":null}},"6":{"start":{"line":4,"column":15},"end":{"line":16,"column":2}},"7":{"start":{"line":20,"column":23},"end":{"line":20,"column":null}},"8":{"start":{"line":21,"column":0},"end":{"line":27,"column":null}},"9":{"start":{"line":29,"column":28},"end":{"line":29,"column":null}},"10":{"start":{"line":30,"column":0},"end":{"line":37,"column":null}},"11":{"start":{"line":39,"column":25},"end":{"line":39,"column":null}},"12":{"start":{"line":40,"column":0},"end":{"line":48,"column":null}}},"fnMap":{},"branchMap":{},"s":{"0":3,"1":4,"2":2,"3":0,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1},"f":{},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/fragment_renderer/FragmentRender.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/fragment_renderer/FragmentRender.js","statementMap":{"0":{"start":{"line":179,"column":24},"end":{"line":179,"column":39}},"1":{"start":{"line":1,"column":27},"end":{"line":1,"column":null}},"2":{"start":{"line":2,"column":26},"end":{"line":2,"column":null}},"3":{"start":{"line":3,"column":24},"end":{"line":3,"column":null}},"4":{"start":{"line":4,"column":19},"end":{"line":4,"column":null}},"5":{"start":{"line":5,"column":23},"end":{"line":5,"column":null}},"6":{"start":{"line":6,"column":37},"end":{"line":6,"column":null}},"7":{"start":{"line":7,"column":30},"end":{"line":7,"column":null}},"8":{"start":{"line":8,"column":23},"end":{"line":8,"column":null}},"9":{"start":{"line":10,"column":18},"end":{"line":17,"column":null}},"10":{"start":{"line":19,"column":28},"end":{"line":177,"column":null}},"11":{"start":{"line":20,"column":2},"end":{"line":176,"column":null}},"12":{"start":{"line":22,"column":6},"end":{"line":45,"column":null}},"13":{"start":{"line":48,"column":6},"end":{"line":106,"column":null}},"14":{"start":{"line":50,"column":10},"end":{"line":67,"column":null}},"15":{"start":{"line":69,"column":10},"end":{"line":103,"column":null}},"16":{"start":{"line":105,"column":10},"end":{"line":105,"column":null}},"17":{"start":{"line":109,"column":6},"end":{"line":118,"column":null}},"18":{"start":{"line":121,"column":6},"end":{"line":126,"column":null}},"19":{"start":{"line":129,"column":6},"end":{"line":137,"column":null}},"20":{"start":{"line":140,"column":6},"end":{"line":173,"column":null}},"21":{"start":{"line":175,"column":6},"end":{"line":175,"column":null}},"22":{"start":{"line":182,"column":24},"end":{"line":197,"column":null}},"23":{"start":{"line":183,"column":21},"end":{"line":183,"column":58}},"24":{"start":{"line":184,"column":4},"end":{"line":186,"column":null}},"25":{"start":{"line":185,"column":6},"end":{"line":185,"column":null}},"26":{"start":{"line":187,"column":4},"end":{"line":189,"column":null}},"27":{"start":{"line":199,"column":2},"end":{"line":199,"column":null}}},"fnMap":{"0":{"name":"(anonymous_2)","decl":{"start":{"line":19,"column":28},"end":{"line":19,"column":29}},"loc":{"start":{"line":19,"column":57},"end":{"line":177,"column":null}}},"1":{"name":"FragmentRender","decl":{"start":{"line":179,"column":24},"end":{"line":179,"column":39}},"loc":{"start":{"line":179,"column":44},"end":{"line":200,"column":null}}},"2":{"name":"(anonymous_4)","decl":{"start":{"line":182,"column":44},"end":{"line":182,"column":45}},"loc":{"start":{"line":182,"column":45},"end":{"line":197,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":20,"column":2},"end":{"line":176,"column":null}},"type":"switch","locations":[{"start":{"line":21,"column":4},"end":{"line":45,"column":null}},{"start":{"line":47,"column":4},"end":{"line":106,"column":null}},{"start":{"line":108,"column":4},"end":{"line":118,"column":null}},{"start":{"line":120,"column":4},"end":{"line":126,"column":null}},{"start":{"line":128,"column":4},"end":{"line":137,"column":null}},{"start":{"line":139,"column":4},"end":{"line":173,"column":null}},{"start":{"line":174,"column":4},"end":{"line":175,"column":null}}]},"1":{"loc":{"start":{"line":24,"column":10},"end":{"line":24,"column":75}},"type":"cond-expr","locations":[{"start":{"line":24,"column":28},"end":{"line":24,"column":50}},{"start":{"line":24,"column":53},"end":{"line":24,"column":75}}]},"2":{"loc":{"start":{"line":28,"column":14},"end":{"line":30,"column":47}},"type":"cond-expr","locations":[{"start":{"line":29,"column":18},"end":{"line":29,"column":47}},{"start":{"line":30,"column":18},"end":{"line":30,"column":47}}]},"3":{"loc":{"start":{"line":37,"column":12},"end":{"line":39,"column":54}},"type":"cond-expr","locations":[{"start":{"line":38,"column":16},"end":{"line":38,"column":54}},{"start":{"line":39,"column":16},"end":{"line":39,"column":54}}]},"4":{"loc":{"start":{"line":41,"column":12},"end":{"line":43,"column":63}},"type":"cond-expr","locations":[{"start":{"line":42,"column":16},"end":{"line":42,"column":63}},{"start":{"line":43,"column":16},"end":{"line":43,"column":63}}]},"5":{"loc":{"start":{"line":48,"column":6},"end":{"line":106,"column":null}},"type":"switch","locations":[{"start":{"line":49,"column":8},"end":{"line":67,"column":null}},{"start":{"line":68,"column":8},"end":{"line":103,"column":null}},{"start":{"line":104,"column":8},"end":{"line":105,"column":null}}]},"6":{"loc":{"start":{"line":52,"column":14},"end":{"line":54,"column":63}},"type":"cond-expr","locations":[{"start":{"line":53,"column":18},"end":{"line":53,"column":63}},{"start":{"line":54,"column":18},"end":{"line":54,"column":63}}]},"7":{"loc":{"start":{"line":55,"column":17},"end":{"line":59,"column":null}},"type":"cond-expr","locations":[{"start":{"line":56,"column":16},"end":{"line":58,"column":58}},{"start":{"line":59,"column":16},"end":{"line":59,"column":null}}]},"8":{"loc":{"start":{"line":56,"column":16},"end":{"line":58,"column":58}},"type":"cond-expr","locations":[{"start":{"line":57,"column":18},"end":{"line":57,"column":58}},{"start":{"line":58,"column":18},"end":{"line":58,"column":58}}]},"9":{"loc":{"start":{"line":63,"column":14},"end":{"line":65,"column":63}},"type":"cond-expr","locations":[{"start":{"line":64,"column":18},"end":{"line":64,"column":63}},{"start":{"line":65,"column":18},"end":{"line":65,"column":63}}]},"10":{"loc":{"start":{"line":71,"column":14},"end":{"line":73,"column":63}},"type":"cond-expr","locations":[{"start":{"line":72,"column":18},"end":{"line":72,"column":63}},{"start":{"line":73,"column":18},"end":{"line":73,"column":63}}]},"11":{"loc":{"start":{"line":74,"column":17},"end":{"line":78,"column":null}},"type":"cond-expr","locations":[{"start":{"line":75,"column":16},"end":{"line":77,"column":58}},{"start":{"line":78,"column":16},"end":{"line":78,"column":null}}]},"12":{"loc":{"start":{"line":75,"column":16},"end":{"line":77,"column":58}},"type":"cond-expr","locations":[{"start":{"line":76,"column":18},"end":{"line":76,"column":58}},{"start":{"line":77,"column":18},"end":{"line":77,"column":58}}]},"13":{"loc":{"start":{"line":82,"column":14},"end":{"line":84,"column":63}},"type":"cond-expr","locations":[{"start":{"line":83,"column":18},"end":{"line":83,"column":63}},{"start":{"line":84,"column":18},"end":{"line":84,"column":63}}]},"14":{"loc":{"start":{"line":87,"column":14},"end":{"line":89,"column":61}},"type":"cond-expr","locations":[{"start":{"line":88,"column":18},"end":{"line":88,"column":61}},{"start":{"line":89,"column":18},"end":{"line":89,"column":61}}]},"15":{"loc":{"start":{"line":91,"column":14},"end":{"line":93,"column":54}},"type":"cond-expr","locations":[{"start":{"line":92,"column":18},"end":{"line":92,"column":54}},{"start":{"line":93,"column":18},"end":{"line":93,"column":54}}]},"16":{"loc":{"start":{"line":97,"column":18},"end":{"line":99,"column":null}},"type":"cond-expr","locations":[{"start":{"line":98,"column":22},"end":{"line":98,"column":null}},{"start":{"line":99,"column":22},"end":{"line":99,"column":null}}]},"17":{"loc":{"start":{"line":111,"column":10},"end":{"line":113,"column":59}},"type":"cond-expr","locations":[{"start":{"line":112,"column":14},"end":{"line":112,"column":59}},{"start":{"line":113,"column":14},"end":{"line":113,"column":59}}]},"18":{"loc":{"start":{"line":115,"column":10},"end":{"line":117,"column":59}},"type":"cond-expr","locations":[{"start":{"line":116,"column":14},"end":{"line":116,"column":59}},{"start":{"line":117,"column":14},"end":{"line":117,"column":59}}]},"19":{"loc":{"start":{"line":123,"column":10},"end":{"line":125,"column":43}},"type":"cond-expr","locations":[{"start":{"line":124,"column":14},"end":{"line":124,"column":43}},{"start":{"line":125,"column":14},"end":{"line":125,"column":43}}]},"20":{"loc":{"start":{"line":133,"column":10},"end":{"line":135,"column":45}},"type":"cond-expr","locations":[{"start":{"line":134,"column":14},"end":{"line":134,"column":45}},{"start":{"line":135,"column":14},"end":{"line":135,"column":45}}]},"21":{"loc":{"start":{"line":136,"column":14},"end":{"line":136,"column":79}},"type":"cond-expr","locations":[{"start":{"line":136,"column":32},"end":{"line":136,"column":54}},{"start":{"line":136,"column":57},"end":{"line":136,"column":79}}]},"22":{"loc":{"start":{"line":143,"column":10},"end":{"line":145,"column":48}},"type":"cond-expr","locations":[{"start":{"line":144,"column":14},"end":{"line":144,"column":48}},{"start":{"line":145,"column":14},"end":{"line":145,"column":48}}]},"23":{"loc":{"start":{"line":147,"column":10},"end":{"line":149,"column":43}},"type":"cond-expr","locations":[{"start":{"line":148,"column":14},"end":{"line":148,"column":43}},{"start":{"line":149,"column":14},"end":{"line":149,"column":43}}]},"24":{"loc":{"start":{"line":153,"column":10},"end":{"line":155,"column":68}},"type":"cond-expr","locations":[{"start":{"line":154,"column":14},"end":{"line":154,"column":68}},{"start":{"line":155,"column":14},"end":{"line":155,"column":68}}]},"25":{"loc":{"start":{"line":157,"column":10},"end":{"line":159,"column":46}},"type":"cond-expr","locations":[{"start":{"line":158,"column":14},"end":{"line":158,"column":46}},{"start":{"line":159,"column":14},"end":{"line":159,"column":46}}]},"26":{"loc":{"start":{"line":161,"column":10},"end":{"line":163,"column":39}},"type":"cond-expr","locations":[{"start":{"line":162,"column":14},"end":{"line":162,"column":39}},{"start":{"line":163,"column":14},"end":{"line":163,"column":39}}]},"27":{"loc":{"start":{"line":167,"column":14},"end":{"line":169,"column":48}},"type":"cond-expr","locations":[{"start":{"line":168,"column":18},"end":{"line":168,"column":48}},{"start":{"line":169,"column":18},"end":{"line":169,"column":48}}]},"28":{"loc":{"start":{"line":184,"column":4},"end":{"line":186,"column":null}},"type":"if","locations":[{"start":{"line":184,"column":4},"end":{"line":186,"column":null}}]}},"s":{"0":10,"1":3,"2":3,"3":3,"4":3,"5":3,"6":3,"7":3,"8":3,"9":3,"10":3,"11":16,"12":1,"13":2,"14":1,"15":1,"16":0,"17":1,"18":6,"19":5,"20":1,"21":0,"22":10,"23":16,"24":16,"25":0,"26":16,"27":9},"f":{"0":16,"1":10,"2":16},"b":{"0":[1,2,1,6,5,1,0],"1":[1,0],"2":[1,0],"3":[1,0],"4":[1,0],"5":[1,1,0],"6":[1,0],"7":[1,0],"8":[1,0],"9":[1,0],"10":[1,0],"11":[1,0],"12":[1,0],"13":[1,0],"14":[1,0],"15":[1,0],"16":[1,0],"17":[1,0],"18":[1,0],"19":[1,5],"20":[1,4],"21":[1,4],"22":[1,0],"23":[1,0],"24":[1,0],"25":[1,0],"26":[1,0],"27":[1,0],"28":[0]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/fragment_renderer/FragmentRender.stories.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/fragment_renderer/FragmentRender.stories.js","statementMap":{"0":{"start":{"line":13,"column":13},"end":{"line":13,"column":23}},"1":{"start":{"line":18,"column":13},"end":{"line":18,"column":19}},"2":{"start":{"line":19,"column":13},"end":{"line":19,"column":30}},"3":{"start":{"line":16,"column":13},"end":{"line":16,"column":37}},"4":{"start":{"line":17,"column":13},"end":{"line":17,"column":24}},"5":{"start":{"line":14,"column":13},"end":{"line":14,"column":26}},"6":{"start":{"line":15,"column":13},"end":{"line":15,"column":34}},"7":{"start":{"line":5,"column":0},"end":{"line":5,"column":15}},"8":{"start":{"line":1,"column":23},"end":{"line":1,"column":null}},"9":{"start":{"line":2,"column":27},"end":{"line":2,"column":null}},"10":{"start":{"line":3,"column":29},"end":{"line":3,"column":null}},"11":{"start":{"line":5,"column":15},"end":{"line":9,"column":2}},"12":{"start":{"line":13,"column":26},"end":{"line":13,"column":null}},"13":{"start":{"line":14,"column":29},"end":{"line":14,"column":null}},"14":{"start":{"line":15,"column":37},"end":{"line":15,"column":null}},"15":{"start":{"line":16,"column":40},"end":{"line":16,"column":null}},"16":{"start":{"line":17,"column":27},"end":{"line":17,"column":null}},"17":{"start":{"line":18,"column":22},"end":{"line":18,"column":null}},"18":{"start":{"line":19,"column":33},"end":{"line":19,"column":null}},"19":{"start":{"line":21,"column":0},"end":{"line":87,"column":null}},"20":{"start":{"line":89,"column":0},"end":{"line":680,"column":null}},"21":{"start":{"line":682,"column":0},"end":{"line":1212,"column":null}},"22":{"start":{"line":1214,"column":0},"end":{"line":1270,"column":null}},"23":{"start":{"line":1272,"column":0},"end":{"line":1327,"column":null}},"24":{"start":{"line":1329,"column":0},"end":{"line":1346,"column":null}},"25":{"start":{"line":1348,"column":0},"end":{"line":1425,"column":null}}},"fnMap":{},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":0,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1},"f":{},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/fragment_renderer/PageHead.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/fragment_renderer/PageHead.js","statementMap":{"0":{"start":{"line":3,"column":24},"end":{"line":3,"column":33}},"1":{"start":{"line":1,"column":17},"end":{"line":1,"column":null}}},"fnMap":{"0":{"name":"PageHead","decl":{"start":{"line":3,"column":24},"end":{"line":3,"column":33}},"loc":{"start":{"line":3,"column":38},"end":{"line":161,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":9},"end":{"line":10,"column":74}},"type":"cond-expr","locations":[{"start":{"line":9,"column":12},"end":{"line":9,"column":63}},{"start":{"line":10,"column":12},"end":{"line":10,"column":74}}]},"1":{"loc":{"start":{"line":15,"column":10},"end":{"line":17,"column":38}},"type":"cond-expr","locations":[{"start":{"line":16,"column":14},"end":{"line":16,"column":38}},{"start":{"line":17,"column":14},"end":{"line":17,"column":38}}]},"2":{"loc":{"start":{"line":26,"column":10},"end":{"line":28,"column":41}},"type":"cond-expr","locations":[{"start":{"line":27,"column":14},"end":{"line":27,"column":41}},{"start":{"line":28,"column":14},"end":{"line":28,"column":41}}]},"3":{"loc":{"start":{"line":36,"column":10},"end":{"line":38,"column":38}},"type":"cond-expr","locations":[{"start":{"line":37,"column":14},"end":{"line":37,"column":38}},{"start":{"line":38,"column":14},"end":{"line":38,"column":38}}]},"4":{"loc":{"start":{"line":43,"column":17},"end":{"line":43,"column":null}},"type":"cond-expr","locations":[{"start":{"line":43,"column":41},"end":{"line":43,"column":49}},{"start":{"line":43,"column":49},"end":{"line":43,"column":null}}]},"5":{"loc":{"start":{"line":49,"column":10},"end":{"line":51,"column":null}},"type":"cond-expr","locations":[{"start":{"line":50,"column":14},"end":{"line":50,"column":null}},{"start":{"line":51,"column":14},"end":{"line":51,"column":null}}]},"6":{"loc":{"start":{"line":62,"column":10},"end":{"line":64,"column":38}},"type":"cond-expr","locations":[{"start":{"line":63,"column":14},"end":{"line":63,"column":38}},{"start":{"line":64,"column":14},"end":{"line":64,"column":38}}]},"7":{"loc":{"start":{"line":82,"column":12},"end":{"line":84,"column":43}},"type":"cond-expr","locations":[{"start":{"line":83,"column":16},"end":{"line":83,"column":43}},{"start":{"line":84,"column":16},"end":{"line":84,"column":43}}]},"8":{"loc":{"start":{"line":91,"column":10},"end":{"line":93,"column":38}},"type":"cond-expr","locations":[{"start":{"line":92,"column":14},"end":{"line":92,"column":38}},{"start":{"line":93,"column":14},"end":{"line":93,"column":38}}]},"9":{"loc":{"start":{"line":99,"column":10},"end":{"line":101,"column":38}},"type":"cond-expr","locations":[{"start":{"line":100,"column":14},"end":{"line":100,"column":38}},{"start":{"line":101,"column":14},"end":{"line":101,"column":38}}]},"10":{"loc":{"start":{"line":111,"column":10},"end":{"line":113,"column":38}},"type":"cond-expr","locations":[{"start":{"line":112,"column":14},"end":{"line":112,"column":38}},{"start":{"line":113,"column":14},"end":{"line":113,"column":38}}]},"11":{"loc":{"start":{"line":124,"column":12},"end":{"line":126,"column":43}},"type":"cond-expr","locations":[{"start":{"line":125,"column":16},"end":{"line":125,"column":43}},{"start":{"line":126,"column":16},"end":{"line":126,"column":43}}]},"12":{"loc":{"start":{"line":133,"column":10},"end":{"line":135,"column":38}},"type":"cond-expr","locations":[{"start":{"line":134,"column":14},"end":{"line":134,"column":38}},{"start":{"line":135,"column":14},"end":{"line":135,"column":38}}]},"13":{"loc":{"start":{"line":142,"column":10},"end":{"line":144,"column":38}},"type":"cond-expr","locations":[{"start":{"line":143,"column":14},"end":{"line":143,"column":38}},{"start":{"line":144,"column":14},"end":{"line":144,"column":38}}]},"14":{"loc":{"start":{"line":154,"column":10},"end":{"line":156,"column":38}},"type":"cond-expr","locations":[{"start":{"line":155,"column":14},"end":{"line":155,"column":38}},{"start":{"line":156,"column":14},"end":{"line":156,"column":38}}]}},"s":{"0":0,"1":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/fragment_renderer/fragment_components/ArticleCTA.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/fragment_renderer/fragment_components/ArticleCTA.js","statementMap":{"0":{"start":{"line":3,"column":24},"end":{"line":3,"column":35}},"1":{"start":{"line":1,"column":20},"end":{"line":1,"column":null}}},"fnMap":{"0":{"name":"ArticleCTA","decl":{"start":{"line":3,"column":24},"end":{"line":3,"column":35}},"loc":{"start":{"line":3,"column":76},"end":{"line":13,"column":null}}}},"branchMap":{},"s":{"0":5,"1":4},"f":{"0":2},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/fragment_renderer/fragment_components/ArticleCTA.stories.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/fragment_renderer/fragment_components/ArticleCTA.stories.js","statementMap":{"0":{"start":{"line":11,"column":13},"end":{"line":11,"column":20}},"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":15}},"2":{"start":{"line":1,"column":23},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":23},"end":{"line":2,"column":null}},"4":{"start":{"line":4,"column":15},"end":{"line":7,"column":2}},"5":{"start":{"line":11,"column":23},"end":{"line":11,"column":null}},"6":{"start":{"line":12,"column":0},"end":{"line":22,"column":null}}},"fnMap":{},"branchMap":{},"s":{"0":1,"1":0,"2":1,"3":1,"4":1,"5":1,"6":1},"f":{},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/fragment_renderer/fragment_components/BasicTextWithImage.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/fragment_renderer/fragment_components/BasicTextWithImage.js","statementMap":{"0":{"start":{"line":4,"column":24},"end":{"line":4,"column":43}},"1":{"start":{"line":1,"column":18},"end":{"line":1,"column":null}},"2":{"start":{"line":2,"column":23},"end":{"line":2,"column":null}}},"fnMap":{"0":{"name":"BasicTextWithImage","decl":{"start":{"line":4,"column":24},"end":{"line":4,"column":43}},"loc":{"start":{"line":4,"column":76},"end":{"line":26,"column":null}}}},"branchMap":{},"s":{"0":4,"1":5,"2":5},"f":{"0":3},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/fragment_renderer/fragment_components/BasicTextWithImage.stories.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/fragment_renderer/fragment_components/BasicTextWithImage.stories.js","statementMap":{"0":{"start":{"line":11,"column":13},"end":{"line":11,"column":20}},"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":15}},"2":{"start":{"line":1,"column":23},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":31},"end":{"line":2,"column":null}},"4":{"start":{"line":4,"column":15},"end":{"line":7,"column":2}},"5":{"start":{"line":11,"column":23},"end":{"line":11,"column":null}},"6":{"start":{"line":12,"column":0},"end":{"line":29,"column":null}}},"fnMap":{},"branchMap":{},"s":{"0":1,"1":0,"2":1,"3":1,"4":1,"5":1,"6":1},"f":{},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/fragment_renderer/fragment_components/Button.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/fragment_renderer/fragment_components/Button.js","statementMap":{"0":{"start":{"line":3,"column":24},"end":{"line":3,"column":31}},"1":{"start":{"line":1,"column":29},"end":{"line":1,"column":null}},"2":{"start":{"line":5,"column":4},"end":{"line":11,"column":null}}},"fnMap":{"0":{"name":"Button","decl":{"start":{"line":3,"column":24},"end":{"line":3,"column":31}},"loc":{"start":{"line":3,"column":61},"end":{"line":23,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":4},"end":{"line":11,"column":null}},"type":"cond-expr","locations":[{"start":{"line":6,"column":8},"end":{"line":6,"column":null}},{"start":{"line":7,"column":8},"end":{"line":11,"column":null}}]},"1":{"loc":{"start":{"line":7,"column":8},"end":{"line":11,"column":null}},"type":"cond-expr","locations":[{"start":{"line":8,"column":8},"end":{"line":8,"column":null}},{"start":{"line":9,"column":8},"end":{"line":11,"column":null}}]},"2":{"loc":{"start":{"line":9,"column":8},"end":{"line":11,"column":null}},"type":"cond-expr","locations":[{"start":{"line":10,"column":8},"end":{"line":10,"column":null}},{"start":{"line":11,"column":8},"end":{"line":11,"column":null}}]}},"s":{"0":6,"1":4,"2":7},"f":{"0":7},"b":{"0":[0,7],"1":[4,3],"2":[3,0]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/fragment_renderer/fragment_components/Button.stories.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/fragment_renderer/fragment_components/Button.stories.js","statementMap":{"0":{"start":{"line":11,"column":13},"end":{"line":11,"column":20}},"1":{"start":{"line":12,"column":13},"end":{"line":12,"column":22}},"2":{"start":{"line":4,"column":0},"end":{"line":4,"column":15}},"3":{"start":{"line":1,"column":23},"end":{"line":1,"column":null}},"4":{"start":{"line":2,"column":19},"end":{"line":2,"column":null}},"5":{"start":{"line":4,"column":15},"end":{"line":7,"column":2}},"6":{"start":{"line":11,"column":23},"end":{"line":11,"column":null}},"7":{"start":{"line":12,"column":25},"end":{"line":12,"column":null}},"8":{"start":{"line":13,"column":0},"end":{"line":18,"column":null}},"9":{"start":{"line":20,"column":0},"end":{"line":25,"column":null}}},"fnMap":{},"branchMap":{},"s":{"0":1,"1":1,"2":0,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1},"f":{},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/fragment_renderer/fragment_components/ImageFragment.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/fragment_renderer/fragment_components/ImageFragment.js","statementMap":{"0":{"start":{"line":3,"column":24},"end":{"line":3,"column":38}},"1":{"start":{"line":1,"column":18},"end":{"line":1,"column":null}}},"fnMap":{"0":{"name":"ImageFragment","decl":{"start":{"line":3,"column":24},"end":{"line":3,"column":38}},"loc":{"start":{"line":3,"column":43},"end":{"line":31,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":9,"column":10},"end":{"line":11,"column":54}},"type":"cond-expr","locations":[{"start":{"line":10,"column":14},"end":{"line":10,"column":54}},{"start":{"line":11,"column":14},"end":{"line":11,"column":54}}]},"1":{"loc":{"start":{"line":14,"column":10},"end":{"line":16,"column":49}},"type":"cond-expr","locations":[{"start":{"line":15,"column":14},"end":{"line":15,"column":49}},{"start":{"line":16,"column":14},"end":{"line":16,"column":49}}]},"2":{"loc":{"start":{"line":25,"column":9},"end":{"line":27,"column":72}},"type":"cond-expr","locations":[{"start":{"line":26,"column":12},"end":{"line":26,"column":72}},{"start":{"line":27,"column":12},"end":{"line":27,"column":72}}]}},"s":{"0":0,"1":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/fragment_renderer/fragment_components/ImageFragment.stories.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/fragment_renderer/fragment_components/ImageFragment.stories.js","statementMap":{"0":{"start":{"line":4,"column":0},"end":{"line":4,"column":15}},"1":{"start":{"line":1,"column":23},"end":{"line":1,"column":null}},"2":{"start":{"line":2,"column":26},"end":{"line":2,"column":null}},"3":{"start":{"line":4,"column":15},"end":{"line":7,"column":null}}},"fnMap":{},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0},"f":{},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/fragment_renderer/fragment_components/ImageVerticalLineContent.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/fragment_renderer/fragment_components/ImageVerticalLineContent.js","statementMap":{"0":{"start":{"line":5,"column":24},"end":{"line":5,"column":49}},"1":{"start":{"line":1,"column":18},"end":{"line":1,"column":null}},"2":{"start":{"line":2,"column":23},"end":{"line":2,"column":null}},"3":{"start":{"line":3,"column":25},"end":{"line":3,"column":null}}},"fnMap":{"0":{"name":"ImageVerticalLineContent","decl":{"start":{"line":5,"column":24},"end":{"line":5,"column":49}},"loc":{"start":{"line":14,"column":1},"end":{"line":43,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":33,"column":9},"end":{"line":38,"column":null}},"type":"cond-expr","locations":[{"start":{"line":34,"column":10},"end":{"line":38,"column":null}},{"start":{"line":38,"column":10},"end":{"line":38,"column":null}}]}},"s":{"0":6,"1":5,"2":5,"3":5},"f":{"0":5},"b":{"0":[3,2]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/fragment_renderer/fragment_components/ImageVerticalLineContent.stories.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/fragment_renderer/fragment_components/ImageVerticalLineContent.stories.js","statementMap":{"0":{"start":{"line":21,"column":13},"end":{"line":21,"column":20}},"1":{"start":{"line":22,"column":13},"end":{"line":22,"column":25}},"2":{"start":{"line":6,"column":0},"end":{"line":6,"column":15}},"3":{"start":{"line":1,"column":23},"end":{"line":1,"column":null}},"4":{"start":{"line":2,"column":37},"end":{"line":2,"column":null}},"5":{"start":{"line":3,"column":23},"end":{"line":3,"column":null}},"6":{"start":{"line":4,"column":29},"end":{"line":4,"column":null}},"7":{"start":{"line":6,"column":15},"end":{"line":17,"column":2}},"8":{"start":{"line":21,"column":23},"end":{"line":21,"column":null}},"9":{"start":{"line":22,"column":28},"end":{"line":22,"column":null}},"10":{"start":{"line":23,"column":0},"end":{"line":74,"column":null}},"11":{"start":{"line":76,"column":0},"end":{"line":130,"column":null}}},"fnMap":{},"branchMap":{},"s":{"0":1,"1":1,"2":0,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1},"f":{},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/fragment_renderer/fragment_components/ImageWithCollapse.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/fragment_renderer/fragment_components/ImageWithCollapse.js","statementMap":{"0":{"start":{"line":4,"column":24},"end":{"line":4,"column":42}},"1":{"start":{"line":1,"column":25},"end":{"line":1,"column":null}},"2":{"start":{"line":2,"column":18},"end":{"line":2,"column":null}}},"fnMap":{"0":{"name":"ImageWithCollapse","decl":{"start":{"line":4,"column":24},"end":{"line":4,"column":42}},"loc":{"start":{"line":14,"column":1},"end":{"line":43,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":27,"column":7},"end":{"line":32,"column":null}},"type":"cond-expr","locations":[{"start":{"line":28,"column":8},"end":{"line":32,"column":null}},{"start":{"line":32,"column":8},"end":{"line":32,"column":null}}]},"1":{"loc":{"start":{"line":34,"column":7},"end":{"line":39,"column":null}},"type":"cond-expr","locations":[{"start":{"line":35,"column":8},"end":{"line":39,"column":null}},{"start":{"line":39,"column":8},"end":{"line":39,"column":null}}]}},"s":{"0":6,"1":4,"2":4},"f":{"0":3},"b":{"0":[3,0],"1":[3,0]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/fragment_renderer/fragment_components/ImageWithCollapse.stories.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/fragment_renderer/fragment_components/ImageWithCollapse.stories.js","statementMap":{"0":{"start":{"line":13,"column":13},"end":{"line":13,"column":20}},"1":{"start":{"line":6,"column":0},"end":{"line":6,"column":15}},"2":{"start":{"line":1,"column":23},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":30},"end":{"line":2,"column":null}},"4":{"start":{"line":3,"column":23},"end":{"line":3,"column":null}},"5":{"start":{"line":4,"column":29},"end":{"line":4,"column":null}},"6":{"start":{"line":6,"column":15},"end":{"line":9,"column":2}},"7":{"start":{"line":13,"column":23},"end":{"line":13,"column":null}},"8":{"start":{"line":14,"column":0},"end":{"line":24,"column":null}}},"fnMap":{},"branchMap":{},"s":{"0":2,"1":0,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1},"f":{},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/fragment_renderer/fragment_components/QuoteVerticalLineContent.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/fragment_renderer/fragment_components/QuoteVerticalLineContent.js","statementMap":{"0":{"start":{"line":3,"column":24},"end":{"line":3,"column":49}},"1":{"start":{"line":1,"column":23},"end":{"line":1,"column":null}}},"fnMap":{"0":{"name":"QuoteVerticalLineContent","decl":{"start":{"line":3,"column":24},"end":{"line":3,"column":49}},"loc":{"start":{"line":6,"column":1},"end":{"line":23,"column":null}}}},"branchMap":{},"s":{"0":5,"1":4},"f":{"0":2},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/fragment_renderer/fragment_components/QuoteVerticalLineContent.stories.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/fragment_renderer/fragment_components/QuoteVerticalLineContent.stories.js","statementMap":{"0":{"start":{"line":12,"column":13},"end":{"line":12,"column":20}},"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":15}},"2":{"start":{"line":1,"column":23},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":37},"end":{"line":2,"column":null}},"4":{"start":{"line":4,"column":15},"end":{"line":8,"column":2}},"5":{"start":{"line":12,"column":23},"end":{"line":12,"column":null}},"6":{"start":{"line":13,"column":0},"end":{"line":37,"column":null}}},"fnMap":{},"branchMap":{},"s":{"0":1,"1":0,"2":1,"3":1,"4":1,"5":1,"6":1},"f":{},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/fragment_renderer/fragment_components/TextContent.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/fragment_renderer/fragment_components/TextContent.js","statementMap":{"0":{"start":{"line":3,"column":24},"end":{"line":3,"column":36}},"1":{"start":{"line":1,"column":23},"end":{"line":1,"column":null}}},"fnMap":{"0":{"name":"TextContent","decl":{"start":{"line":3,"column":24},"end":{"line":3,"column":36}},"loc":{"start":{"line":3,"column":44},"end":{"line":11,"column":null}}}},"branchMap":{},"s":{"0":5,"1":4},"f":{"0":7},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/fragment_renderer/fragment_components/TextContent.stories.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/fragment_renderer/fragment_components/TextContent.stories.js","statementMap":{"0":{"start":{"line":11,"column":13},"end":{"line":11,"column":20}},"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":15}},"2":{"start":{"line":1,"column":23},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":24},"end":{"line":2,"column":null}},"4":{"start":{"line":4,"column":15},"end":{"line":7,"column":2}},"5":{"start":{"line":11,"column":23},"end":{"line":11,"column":null}},"6":{"start":{"line":13,"column":0},"end":{"line":26,"column":null}}},"fnMap":{},"branchMap":{},"s":{"0":1,"1":0,"2":1,"3":1,"4":1,"5":1,"6":1},"f":{},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/fragment_renderer/fragment_components/TextWithImage.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/fragment_renderer/fragment_components/TextWithImage.js","statementMap":{"0":{"start":{"line":4,"column":24},"end":{"line":4,"column":38}},"1":{"start":{"line":1,"column":31},"end":{"line":1,"column":null}},"2":{"start":{"line":2,"column":37},"end":{"line":2,"column":null}},"3":{"start":{"line":15,"column":2},"end":{"line":41,"column":null}},"4":{"start":{"line":40,"column":6},"end":{"line":40,"column":null}}},"fnMap":{"0":{"name":"TextWithImage","decl":{"start":{"line":4,"column":24},"end":{"line":4,"column":38}},"loc":{"start":{"line":14,"column":1},"end":{"line":42,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":15,"column":2},"end":{"line":41,"column":null}},"type":"switch","locations":[{"start":{"line":39,"column":4},"end":{"line":40,"column":null}}]}},"s":{"0":7,"1":4,"2":4,"3":5,"4":0},"f":{"0":5},"b":{"0":[0]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/fragment_renderer/fragment_components/TextWithImage.stories.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/fragment_renderer/fragment_components/TextWithImage.stories.js","statementMap":{"0":{"start":{"line":13,"column":13},"end":{"line":13,"column":20}},"1":{"start":{"line":14,"column":13},"end":{"line":14,"column":21}},"2":{"start":{"line":15,"column":13},"end":{"line":15,"column":33}},"3":{"start":{"line":6,"column":0},"end":{"line":6,"column":15}},"4":{"start":{"line":1,"column":23},"end":{"line":1,"column":null}},"5":{"start":{"line":2,"column":26},"end":{"line":2,"column":null}},"6":{"start":{"line":3,"column":23},"end":{"line":3,"column":null}},"7":{"start":{"line":4,"column":29},"end":{"line":4,"column":null}},"8":{"start":{"line":6,"column":15},"end":{"line":9,"column":2}},"9":{"start":{"line":13,"column":23},"end":{"line":13,"column":null}},"10":{"start":{"line":14,"column":24},"end":{"line":14,"column":null}},"11":{"start":{"line":15,"column":36},"end":{"line":15,"column":null}},"12":{"start":{"line":17,"column":0},"end":{"line":35,"column":null}},"13":{"start":{"line":37,"column":0},"end":{"line":88,"column":null}},"14":{"start":{"line":90,"column":0},"end":{"line":144,"column":null}}},"fnMap":{},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":0,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1},"f":{},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/CTA.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/CTA.js","statementMap":{"0":{"start":{"line":5,"column":16},"end":{"line":5,"column":20}},"1":{"start":{"line":1,"column":25},"end":{"line":1,"column":null}},"2":{"start":{"line":2,"column":21},"end":{"line":2,"column":null}},"3":{"start":{"line":3,"column":22},"end":{"line":3,"column":null}},"4":{"start":{"line":13,"column":17},"end":{"line":13,"column":null}},"5":{"start":{"line":13,"column":26},"end":{"line":13,"column":null}}},"fnMap":{"0":{"name":"CTA","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":20}},"loc":{"start":{"line":11,"column":1},"end":{"line":41,"column":null}}},"1":{"name":"(anonymous_2)","decl":{"start":{"line":13,"column":17},"end":{"line":13,"column":18}},"loc":{"start":{"line":13,"column":26},"end":{"line":13,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":2},"end":{"line":10,"column":21}},"type":"default-arg","locations":[{"start":{"line":10,"column":19},"end":{"line":10,"column":21}}]},"1":{"loc":{"start":{"line":29,"column":26},"end":{"line":29,"column":33}},"type":"cond-expr","locations":[{"start":{"line":29,"column":26},"end":{"line":29,"column":33}}]},"2":{"loc":{"start":{"line":36,"column":11},"end":{"line":36,"column":24}},"type":"binary-expr","locations":[{"start":{"line":36,"column":11},"end":{"line":36,"column":24}}]}},"s":{"0":7,"1":5,"2":5,"3":5,"4":5,"5":5},"f":{"0":5,"1":5},"b":{"0":[3],"1":[0],"2":[5]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/CTA.stories.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/CTA.stories.js","statementMap":{"0":{"start":{"line":10,"column":13},"end":{"line":10,"column":20}},"1":{"start":{"line":23,"column":13},"end":{"line":23,"column":24}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":15}},"3":{"start":{"line":1,"column":23},"end":{"line":1,"column":null}},"4":{"start":{"line":2,"column":20},"end":{"line":2,"column":null}},"5":{"start":{"line":3,"column":15},"end":{"line":6,"column":2}},"6":{"start":{"line":10,"column":23},"end":{"line":10,"column":null}},"7":{"start":{"line":11,"column":0},"end":{"line":21,"column":null}},"8":{"start":{"line":23,"column":27},"end":{"line":23,"column":null}},"9":{"start":{"line":24,"column":0},"end":{"line":30,"column":null}}},"fnMap":{},"branchMap":{},"s":{"0":4,"1":2,"2":0,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1},"f":{},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/Card.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/Card.js","statementMap":{"0":{"start":{"line":11,"column":13},"end":{"line":11,"column":17}},"1":{"start":{"line":160,"column":0},"end":{"line":160,"column":15}},"2":{"start":{"line":1,"column":18},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":22},"end":{"line":2,"column":null}},"4":{"start":{"line":3,"column":17},"end":{"line":3,"column":null}},"5":{"start":{"line":4,"column":29},"end":{"line":4,"column":null}},"6":{"start":{"line":5,"column":18},"end":{"line":5,"column":null}},"7":{"start":{"line":11,"column":20},"end":{"line":96,"column":null}},"8":{"start":{"line":12,"column":21},"end":{"line":17,"column":null}},"9":{"start":{"line":19,"column":20},"end":{"line":19,"column":null}},"10":{"start":{"line":98,"column":0},"end":{"line":158,"column":null}},"11":{"start":{"line":160,"column":15},"end":{"line":160,"column":20}}},"fnMap":{"0":{"name":"(anonymous_4)","decl":{"start":{"line":11,"column":20},"end":{"line":11,"column":21}},"loc":{"start":{"line":11,"column":21},"end":{"line":96,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":19,"column":20},"end":{"line":19,"column":null}},"type":"binary-expr","locations":[{"start":{"line":19,"column":20},"end":{"line":19,"column":41}},{"start":{"line":19,"column":45},"end":{"line":19,"column":null}}]},"1":{"loc":{"start":{"line":30,"column":9},"end":{"line":44,"column":null}},"type":"cond-expr","locations":[{"start":{"line":31,"column":10},"end":{"line":44,"column":null}},{"start":{"line":44,"column":10},"end":{"line":44,"column":null}}]},"2":{"loc":{"start":{"line":49,"column":13},"end":{"line":58,"column":null}},"type":"cond-expr","locations":[{"start":{"line":50,"column":14},"end":{"line":55,"column":null}},{"start":{"line":58,"column":14},"end":{"line":58,"column":null}}]},"3":{"loc":{"start":{"line":50,"column":14},"end":{"line":55,"column":null}},"type":"cond-expr","locations":[{"start":{"line":51,"column":16},"end":{"line":55,"column":null}},{"start":{"line":55,"column":16},"end":{"line":55,"column":null}}]},"4":{"loc":{"start":{"line":61,"column":11},"end":{"line":69,"column":null}},"type":"cond-expr","locations":[{"start":{"line":62,"column":12},"end":{"line":69,"column":null}},{"start":{"line":69,"column":12},"end":{"line":69,"column":null}}]},"5":{"loc":{"start":{"line":72,"column":9},"end":{"line":77,"column":null}},"type":"cond-expr","locations":[{"start":{"line":73,"column":10},"end":{"line":77,"column":null}},{"start":{"line":77,"column":10},"end":{"line":77,"column":null}}]},"6":{"loc":{"start":{"line":82,"column":9},"end":{"line":91,"column":null}},"type":"cond-expr","locations":[{"start":{"line":83,"column":10},"end":{"line":91,"column":null}},{"start":{"line":91,"column":10},"end":{"line":91,"column":null}}]}},"s":{"0":0,"1":13,"2":8,"3":8,"4":8,"5":8,"6":8,"7":8,"8":12,"9":12,"10":8,"11":8},"f":{"0":12},"b":{"0":[12,11],"1":[9,3],"2":[0,12],"3":[0,0],"4":[1,11],"5":[0,12],"6":[0,12]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/Card.stories.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/Card.stories.js","statementMap":{"0":{"start":{"line":12,"column":13},"end":{"line":12,"column":20}},"1":{"start":{"line":16,"column":13},"end":{"line":16,"column":23}},"2":{"start":{"line":15,"column":13},"end":{"line":15,"column":21}},"3":{"start":{"line":14,"column":13},"end":{"line":14,"column":22}},"4":{"start":{"line":13,"column":13},"end":{"line":13,"column":20}},"5":{"start":{"line":5,"column":0},"end":{"line":5,"column":15}},"6":{"start":{"line":1,"column":18},"end":{"line":1,"column":null}},"7":{"start":{"line":2,"column":17},"end":{"line":2,"column":null}},"8":{"start":{"line":3,"column":18},"end":{"line":3,"column":null}},"9":{"start":{"line":5,"column":15},"end":{"line":8,"column":2}},"10":{"start":{"line":12,"column":23},"end":{"line":12,"column":null}},"11":{"start":{"line":13,"column":23},"end":{"line":13,"column":null}},"12":{"start":{"line":14,"column":25},"end":{"line":14,"column":null}},"13":{"start":{"line":15,"column":24},"end":{"line":15,"column":null}},"14":{"start":{"line":16,"column":26},"end":{"line":16,"column":null}},"15":{"start":{"line":18,"column":0},"end":{"line":24,"column":null}},"16":{"start":{"line":26,"column":0},"end":{"line":33,"column":null}},"17":{"start":{"line":35,"column":0},"end":{"line":42,"column":null}},"18":{"start":{"line":44,"column":0},"end":{"line":50,"column":null}},"19":{"start":{"line":52,"column":0},"end":{"line":59,"column":null}}},"fnMap":{},"branchMap":{},"s":{"0":4,"1":0,"2":0,"3":0,"4":2,"5":0,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1},"f":{},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/Collapse.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/Collapse.js","statementMap":{"0":{"start":{"line":3,"column":16},"end":{"line":3,"column":25}},"1":{"start":{"line":1,"column":22},"end":{"line":1,"column":null}},"2":{"start":{"line":4,"column":30},"end":{"line":4,"column":null}},"3":{"start":{"line":5,"column":2},"end":{"line":7,"column":null}},"4":{"start":{"line":26,"column":0},"end":{"line":50,"column":null}}},"fnMap":{"0":{"name":"Collapse","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":25}},"loc":{"start":{"line":3,"column":62},"end":{"line":24,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":3,"column":27},"end":{"line":3,"column":50}},"type":"default-arg","locations":[{"start":{"line":3,"column":32},"end":{"line":3,"column":50}}]}},"s":{"0":12,"1":8,"2":11,"3":11,"4":8},"f":{"0":11},"b":{"0":[6]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/Collapse.stories.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/Collapse.stories.js","statementMap":{"0":{"start":{"line":19,"column":13},"end":{"line":19,"column":28}},"1":{"start":{"line":11,"column":13},"end":{"line":11,"column":28}},"2":{"start":{"line":4,"column":0},"end":{"line":4,"column":15}},"3":{"start":{"line":1,"column":18},"end":{"line":1,"column":null}},"4":{"start":{"line":2,"column":25},"end":{"line":2,"column":null}},"5":{"start":{"line":4,"column":15},"end":{"line":7,"column":2}},"6":{"start":{"line":11,"column":31},"end":{"line":11,"column":null}},"7":{"start":{"line":12,"column":0},"end":{"line":17,"column":null}},"8":{"start":{"line":19,"column":31},"end":{"line":19,"column":null}},"9":{"start":{"line":20,"column":0},"end":{"line":36,"column":null}}},"fnMap":{},"branchMap":{},"s":{"0":2,"1":2,"2":0,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1},"f":{},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/ContextualAlert.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/ContextualAlert.js","statementMap":{"0":{"start":{"line":3,"column":16},"end":{"line":3,"column":32}},"1":{"start":{"line":1,"column":22},"end":{"line":1,"column":null}},"2":{"start":{"line":4,"column":22},"end":{"line":4,"column":null}},"3":{"start":{"line":5,"column":21},"end":{"line":5,"column":null}},"4":{"start":{"line":6,"column":19},"end":{"line":6,"column":null}},"5":{"start":{"line":7,"column":22},"end":{"line":7,"column":null}},"6":{"start":{"line":18,"column":6},"end":{"line":18,"column":null}},"7":{"start":{"line":21,"column":4},"end":{"line":27,"column":null}},"8":{"start":{"line":30,"column":4},"end":{"line":36,"column":null}},"9":{"start":{"line":38,"column":17},"end":{"line":38,"column":null}},"10":{"start":{"line":75,"column":0},"end":{"line":119,"column":null}}},"fnMap":{"0":{"name":"ContextualAlert","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":32}},"loc":{"start":{"line":3,"column":37},"end":{"line":73,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":21,"column":4},"end":{"line":27,"column":null}},"type":"cond-expr","locations":[{"start":{"line":22,"column":8},"end":{"line":22,"column":null}},{"start":{"line":23,"column":8},"end":{"line":27,"column":null}}]},"1":{"loc":{"start":{"line":23,"column":8},"end":{"line":27,"column":null}},"type":"cond-expr","locations":[{"start":{"line":24,"column":8},"end":{"line":24,"column":null}},{"start":{"line":25,"column":8},"end":{"line":27,"column":null}}]},"2":{"loc":{"start":{"line":25,"column":8},"end":{"line":27,"column":null}},"type":"cond-expr","locations":[{"start":{"line":26,"column":8},"end":{"line":26,"column":null}},{"start":{"line":27,"column":8},"end":{"line":27,"column":null}}]},"3":{"loc":{"start":{"line":30,"column":4},"end":{"line":36,"column":null}},"type":"cond-expr","locations":[{"start":{"line":31,"column":8},"end":{"line":31,"column":null}},{"start":{"line":32,"column":8},"end":{"line":36,"column":null}}]},"4":{"loc":{"start":{"line":32,"column":8},"end":{"line":36,"column":null}},"type":"cond-expr","locations":[{"start":{"line":33,"column":8},"end":{"line":33,"column":null}},{"start":{"line":34,"column":8},"end":{"line":36,"column":null}}]},"5":{"loc":{"start":{"line":34,"column":8},"end":{"line":36,"column":null}},"type":"cond-expr","locations":[{"start":{"line":35,"column":8},"end":{"line":35,"column":null}},{"start":{"line":36,"column":8},"end":{"line":36,"column":null}}]},"6":{"loc":{"start":{"line":38,"column":17},"end":{"line":38,"column":null}},"type":"cond-expr","locations":[{"start":{"line":38,"column":27},"end":{"line":38,"column":55}},{"start":{"line":38,"column":55},"end":{"line":38,"column":null}}]},"7":{"loc":{"start":{"line":53,"column":10},"end":{"line":58,"column":11}},"type":"cond-expr","locations":[{"start":{"line":53,"column":10},"end":{"line":58,"column":11}}]},"8":{"loc":{"start":{"line":63,"column":10},"end":{"line":68,"column":11}},"type":"cond-expr","locations":[{"start":{"line":63,"column":10},"end":{"line":68,"column":11}}]}},"s":{"0":9,"1":3,"2":9,"3":9,"4":9,"5":9,"6":9,"7":7,"8":7,"9":7,"10":3},"f":{"0":9},"b":{"0":[2,5],"1":[1,4],"2":[2,2],"3":[2,5],"4":[1,4],"5":[2,2],"6":[0,7],"7":[0],"8":[0]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/ContextualAlert.stories.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/ContextualAlert.stories.js","statementMap":{"0":{"start":{"line":12,"column":13},"end":{"line":12,"column":19}},"1":{"start":{"line":10,"column":13},"end":{"line":10,"column":17}},"2":{"start":{"line":9,"column":13},"end":{"line":9,"column":20}},"3":{"start":{"line":11,"column":13},"end":{"line":11,"column":20}},"4":{"start":{"line":2,"column":0},"end":{"line":2,"column":15}},"5":{"start":{"line":1,"column":32},"end":{"line":1,"column":null}},"6":{"start":{"line":2,"column":15},"end":{"line":5,"column":2}},"7":{"start":{"line":9,"column":23},"end":{"line":9,"column":null}},"8":{"start":{"line":10,"column":20},"end":{"line":10,"column":null}},"9":{"start":{"line":11,"column":23},"end":{"line":11,"column":null}},"10":{"start":{"line":12,"column":22},"end":{"line":12,"column":null}},"11":{"start":{"line":14,"column":0},"end":{"line":31,"column":null}},"12":{"start":{"line":33,"column":0},"end":{"line":41,"column":null}},"13":{"start":{"line":43,"column":0},"end":{"line":51,"column":null}},"14":{"start":{"line":53,"column":0},"end":{"line":70,"column":null}}},"fnMap":{},"branchMap":{},"s":{"0":2,"1":2,"2":4,"3":2,"4":0,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1},"f":{},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/CopyToClipboard.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/CopyToClipboard.js","statementMap":{"0":{"start":{"line":5,"column":16},"end":{"line":5,"column":32}},"1":{"start":{"line":1,"column":22},"end":{"line":1,"column":null}},"2":{"start":{"line":2,"column":22},"end":{"line":2,"column":null}},"3":{"start":{"line":3,"column":29},"end":{"line":3,"column":null}},"4":{"start":{"line":6,"column":28},"end":{"line":10,"column":null}},"5":{"start":{"line":20,"column":25},"end":{"line":20,"column":null}},"6":{"start":{"line":39,"column":0},"end":{"line":131,"column":null}}},"fnMap":{"0":{"name":"CopyToClipboard","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":32}},"loc":{"start":{"line":5,"column":71},"end":{"line":37,"column":null}}},"1":{"name":"(anonymous_3)","decl":{"start":{"line":20,"column":18},"end":{"line":20,"column":19}},"loc":{"start":{"line":20,"column":25},"end":{"line":20,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":34},"end":{"line":5,"column":44}},"type":"default-arg","locations":[{"start":{"line":5,"column":42},"end":{"line":5,"column":44}}]},"1":{"loc":{"start":{"line":5,"column":46},"end":{"line":5,"column":59}},"type":"default-arg","locations":[{"start":{"line":5,"column":53},"end":{"line":5,"column":59}}]},"2":{"loc":{"start":{"line":6,"column":28},"end":{"line":10,"column":null}},"type":"cond-expr","locations":[{"start":{"line":7,"column":6},"end":{"line":9,"column":null}},{"start":{"line":10,"column":6},"end":{"line":10,"column":null}}]}},"s":{"0":5,"1":2,"2":2,"3":2,"4":4,"5":1,"6":2},"f":{"0":4,"1":1},"b":{"0":[2],"1":[4],"2":[4,0]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/CopyToClipboard.stories.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/CopyToClipboard.stories.js","statementMap":{"0":{"start":{"line":11,"column":13},"end":{"line":11,"column":20}},"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":15}},"2":{"start":{"line":1,"column":18},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":32},"end":{"line":2,"column":null}},"4":{"start":{"line":4,"column":15},"end":{"line":7,"column":2}},"5":{"start":{"line":11,"column":23},"end":{"line":11,"column":null}},"6":{"start":{"line":13,"column":0},"end":{"line":22,"column":null}}},"fnMap":{},"branchMap":{},"s":{"0":5,"1":0,"2":1,"3":1,"4":1,"5":1,"6":1},"f":{},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/Details.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/Details.js","statementMap":{"0":{"start":{"line":6,"column":16},"end":{"line":6,"column":24}},"1":{"start":{"line":1,"column":22},"end":{"line":1,"column":null}},"2":{"start":{"line":19,"column":0},"end":{"line":44,"column":null}}},"fnMap":{"0":{"name":"Details","decl":{"start":{"line":6,"column":16},"end":{"line":6,"column":24}},"loc":{"start":{"line":6,"column":29},"end":{"line":17,"column":null}}}},"branchMap":{},"s":{"0":11,"1":2,"2":2},"f":{"0":11},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/Details.stories.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/Details.stories.js","statementMap":{"0":{"start":{"line":11,"column":13},"end":{"line":11,"column":20}},"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":15}},"2":{"start":{"line":1,"column":18},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":24},"end":{"line":2,"column":null}},"4":{"start":{"line":4,"column":15},"end":{"line":7,"column":2}},"5":{"start":{"line":11,"column":23},"end":{"line":11,"column":null}},"6":{"start":{"line":12,"column":0},"end":{"line":17,"column":null}}},"fnMap":{},"branchMap":{},"s":{"0":6,"1":0,"2":1,"3":1,"4":1,"5":1,"6":1},"f":{},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/ErrorBox.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/ErrorBox.js","statementMap":{"0":{"start":{"line":7,"column":16},"end":{"line":7,"column":25}},"1":{"start":{"line":1,"column":22},"end":{"line":1,"column":null}},"2":{"start":{"line":2,"column":29},"end":{"line":2,"column":null}},"3":{"start":{"line":24,"column":10},"end":{"line":25,"column":38}},"4":{"start":{"line":29,"column":31},"end":{"line":29,"column":null}},"5":{"start":{"line":43,"column":0},"end":{"line":65,"column":null}}},"fnMap":{"0":{"name":"ErrorBox","decl":{"start":{"line":7,"column":16},"end":{"line":7,"column":25}},"loc":{"start":{"line":7,"column":50},"end":{"line":41,"column":null}}},"1":{"name":"(anonymous_3)","decl":{"start":{"line":23,"column":20},"end":{"line":23,"column":21}},"loc":{"start":{"line":23,"column":33},"end":{"line":37,"column":null}}},"2":{"name":"(anonymous_4)","decl":{"start":{"line":29,"column":25},"end":{"line":29,"column":31}},"loc":{"start":{"line":29,"column":31},"end":{"line":29,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":27},"end":{"line":7,"column":38}},"type":"default-arg","locations":[{"start":{"line":7,"column":36},"end":{"line":7,"column":38}}]}},"s":{"0":4,"1":1,"2":1,"3":9,"4":1,"5":1},"f":{"0":3,"1":9,"2":1},"b":{"0":[0]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/ErrorBox.stories.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/ErrorBox.stories.js","statementMap":{"0":{"start":{"line":23,"column":13},"end":{"line":23,"column":20}},"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":15}},"2":{"start":{"line":1,"column":18},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":25},"end":{"line":2,"column":null}},"4":{"start":{"line":4,"column":15},"end":{"line":19,"column":2}},"5":{"start":{"line":23,"column":23},"end":{"line":23,"column":null}},"6":{"start":{"line":25,"column":0},"end":{"line":41,"column":null}}},"fnMap":{},"branchMap":{},"s":{"0":11,"1":0,"2":1,"3":1,"4":1,"5":1,"6":1},"f":{},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/FeedbackWidget.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/FeedbackWidget.js","statementMap":{"0":{"start":{"line":15,"column":13},"end":{"line":15,"column":27}},"1":{"start":{"line":307,"column":0},"end":{"line":307,"column":15}},"2":{"start":{"line":1,"column":51},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":22},"end":{"line":2,"column":null}},"4":{"start":{"line":3,"column":31},"end":{"line":3,"column":null}},"5":{"start":{"line":4,"column":29},"end":{"line":4,"column":null}},"6":{"start":{"line":5,"column":16},"end":{"line":5,"column":null}},"7":{"start":{"line":6,"column":27},"end":{"line":6,"column":null}},"8":{"start":{"line":7,"column":22},"end":{"line":7,"column":null}},"9":{"start":{"line":8,"column":23},"end":{"line":8,"column":null}},"10":{"start":{"line":9,"column":30},"end":{"line":9,"column":null}},"11":{"start":{"line":15,"column":30},"end":{"line":298,"column":null}},"12":{"start":{"line":21,"column":36},"end":{"line":21,"column":null}},"13":{"start":{"line":22,"column":44},"end":{"line":22,"column":null}},"14":{"start":{"line":23,"column":16},"end":{"line":23,"column":null}},"15":{"start":{"line":24,"column":34},"end":{"line":24,"column":null}},"16":{"start":{"line":25,"column":16},"end":{"line":25,"column":69}},"17":{"start":{"line":26,"column":28},"end":{"line":26,"column":null}},"18":{"start":{"line":27,"column":18},"end":{"line":27,"column":null}},"19":{"start":{"line":29,"column":2},"end":{"line":29,"column":null}},"20":{"start":{"line":31,"column":2},"end":{"line":36,"column":null}},"21":{"start":{"line":32,"column":4},"end":{"line":35,"column":null}},"22":{"start":{"line":33,"column":6},"end":{"line":33,"column":null}},"23":{"start":{"line":34,"column":6},"end":{"line":34,"column":null}},"24":{"start":{"line":39,"column":21},"end":{"line":55,"column":null}},"25":{"start":{"line":43,"column":8},"end":{"line":52,"column":null}},"26":{"start":{"line":44,"column":10},"end":{"line":51,"column":null}},"27":{"start":{"line":46,"column":14},"end":{"line":46,"column":null}},"28":{"start":{"line":47,"column":14},"end":{"line":47,"column":null}},"29":{"start":{"line":49,"column":14},"end":{"line":49,"column":null}},"30":{"start":{"line":50,"column":14},"end":{"line":50,"column":null}},"31":{"start":{"line":53,"column":8},"end":{"line":53,"column":null}},"32":{"start":{"line":58,"column":4},"end":{"line":58,"column":null}},"33":{"start":{"line":61,"column":34},"end":{"line":61,"column":null}},"34":{"start":{"line":62,"column":44},"end":{"line":62,"column":null}},"35":{"start":{"line":63,"column":25},"end":{"line":69,"column":null}},"36":{"start":{"line":71,"column":24},"end":{"line":119,"column":null}},"37":{"start":{"line":73,"column":4},"end":{"line":73,"column":null}},"38":{"start":{"line":75,"column":4},"end":{"line":75,"column":null}},"39":{"start":{"line":77,"column":21},"end":{"line":77,"column":null}},"40":{"start":{"line":79,"column":26},"end":{"line":79,"column":null}},"41":{"start":{"line":81,"column":4},"end":{"line":85,"column":null}},"42":{"start":{"line":88,"column":22},"end":{"line":91,"column":null}},"43":{"start":{"line":92,"column":18},"end":{"line":92,"column":null}},"44":{"start":{"line":94,"column":4},"end":{"line":118,"column":null}},"45":{"start":{"line":96,"column":23},"end":{"line":102,"column":null}},"46":{"start":{"line":105,"column":6},"end":{"line":111,"column":null}},"47":{"start":{"line":106,"column":8},"end":{"line":106,"column":null}},"48":{"start":{"line":107,"column":8},"end":{"line":107,"column":null}},"49":{"start":{"line":108,"column":8},"end":{"line":108,"column":null}},"50":{"start":{"line":110,"column":8},"end":{"line":110,"column":null}},"51":{"start":{"line":113,"column":6},"end":{"line":113,"column":null}},"52":{"start":{"line":114,"column":6},"end":{"line":114,"column":null}},"53":{"start":{"line":115,"column":6},"end":{"line":115,"column":null}},"54":{"start":{"line":117,"column":6},"end":{"line":117,"column":null}},"55":{"start":{"line":176,"column":43},"end":{"line":176,"column":null}},"56":{"start":{"line":202,"column":22},"end":{"line":202,"column":null}},"57":{"start":{"line":203,"column":22},"end":{"line":203,"column":null}},"58":{"start":{"line":272,"column":37},"end":{"line":272,"column":null}},"59":{"start":{"line":274,"column":22},"end":{"line":274,"column":null}},"60":{"start":{"line":300,"column":0},"end":{"line":305,"column":null}},"61":{"start":{"line":307,"column":15},"end":{"line":307,"column":30}}},"fnMap":{"0":{"name":"(anonymous_7)","decl":{"start":{"line":15,"column":30},"end":{"line":15,"column":31}},"loc":{"start":{"line":20,"column":1},"end":{"line":298,"column":null}}},"1":{"name":"(anonymous_8)","decl":{"start":{"line":31,"column":12},"end":{"line":31,"column":null}},"loc":{"start":{"line":31,"column":12},"end":{"line":36,"column":5}}},"2":{"name":"(anonymous_9)","decl":{"start":{"line":42,"column":13},"end":{"line":42,"column":14}},"loc":{"start":{"line":42,"column":14},"end":{"line":54,"column":null}}},"3":{"name":"(anonymous_10)","decl":{"start":{"line":43,"column":23},"end":{"line":43,"column":24}},"loc":{"start":{"line":43,"column":24},"end":{"line":52,"column":null}}},"4":{"name":"setFocusAfterSubmit","decl":{"start":{"line":57,"column":11},"end":{"line":57,"column":null}},"loc":{"start":{"line":57,"column":11},"end":{"line":59,"column":null}}},"5":{"name":"(anonymous_12)","decl":{"start":{"line":71,"column":24},"end":{"line":71,"column":31}},"loc":{"start":{"line":71,"column":31},"end":{"line":119,"column":null}}},"6":{"name":"(anonymous_13)","decl":{"start":{"line":176,"column":37},"end":{"line":176,"column":43}},"loc":{"start":{"line":176,"column":43},"end":{"line":176,"column":null}}},"7":{"name":"(anonymous_14)","decl":{"start":{"line":201,"column":29},"end":{"line":201,"column":null}},"loc":{"start":{"line":201,"column":29},"end":{"line":204,"column":null}}},"8":{"name":"(anonymous_15)","decl":{"start":{"line":272,"column":30},"end":{"line":272,"column":31}},"loc":{"start":{"line":272,"column":37},"end":{"line":272,"column":null}}},"9":{"name":"(anonymous_16)","decl":{"start":{"line":273,"column":29},"end":{"line":273,"column":30}},"loc":{"start":{"line":274,"column":22},"end":{"line":274,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":32,"column":4},"end":{"line":35,"column":null}},"type":"if","locations":[{"start":{"line":32,"column":4},"end":{"line":35,"column":null}}]},"1":{"loc":{"start":{"line":44,"column":10},"end":{"line":51,"column":null}},"type":"switch","locations":[{"start":{"line":45,"column":12},"end":{"line":47,"column":null}},{"start":{"line":48,"column":12},"end":{"line":50,"column":null}}]},"2":{"loc":{"start":{"line":94,"column":4},"end":{"line":118,"column":null}},"type":"if","locations":[{"start":{"line":94,"column":4},"end":{"line":118,"column":null}},{"start":{"line":116,"column":11},"end":{"line":118,"column":null}}]},"3":{"loc":{"start":{"line":105,"column":6},"end":{"line":111,"column":null}},"type":"if","locations":[{"start":{"line":105,"column":6},"end":{"line":111,"column":null}},{"start":{"line":109,"column":13},"end":{"line":111,"column":null}}]},"4":{"loc":{"start":{"line":105,"column":10},"end":{"line":105,"column":62}},"type":"binary-expr","locations":[{"start":{"line":105,"column":10},"end":{"line":105,"column":37}},{"start":{"line":105,"column":37},"end":{"line":105,"column":62}}]},"5":{"loc":{"start":{"line":123,"column":7},"end":{"line":294,"column":null}},"type":"cond-expr","locations":[{"start":{"line":124,"column":8},"end":{"line":294,"column":null}},{"start":{"line":294,"column":8},"end":{"line":294,"column":null}}]},"6":{"loc":{"start":{"line":138,"column":15},"end":{"line":187,"column":null}},"type":"cond-expr","locations":[{"start":{"line":139,"column":16},"end":{"line":187,"column":null}},{"start":{"line":187,"column":16},"end":{"line":187,"column":null}}]},"7":{"loc":{"start":{"line":140,"column":19},"end":{"line":183,"column":null}},"type":"cond-expr","locations":[{"start":{"line":141,"column":20},"end":{"line":183,"column":null}},{"start":{"line":183,"column":20},"end":{"line":183,"column":null}}]},"8":{"loc":{"start":{"line":143,"column":24},"end":{"line":145,"column":null}},"type":"cond-expr","locations":[{"start":{"line":144,"column":28},"end":{"line":144,"column":null}},{"start":{"line":145,"column":28},"end":{"line":145,"column":null}}]},"9":{"loc":{"start":{"line":151,"column":27},"end":{"line":162,"column":null}},"type":"cond-expr","locations":[{"start":{"line":152,"column":28},"end":{"line":162,"column":null}},{"start":{"line":162,"column":28},"end":{"line":162,"column":null}}]},"10":{"loc":{"start":{"line":256,"column":19},"end":{"line":261,"column":null}},"type":"cond-expr","locations":[{"start":{"line":257,"column":20},"end":{"line":261,"column":null}},{"start":{"line":261,"column":22},"end":{"line":261,"column":null}}]}},"s":{"0":3,"1":6,"2":10,"3":10,"4":10,"5":10,"6":10,"7":10,"8":10,"9":10,"10":10,"11":10,"12":10,"13":10,"14":10,"15":10,"16":10,"17":10,"18":10,"19":10,"20":10,"21":7,"22":2,"23":2,"24":10,"25":1,"26":1,"27":0,"28":0,"29":1,"30":1,"31":1,"32":0,"33":10,"34":10,"35":10,"36":10,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":1,"55":0,"56":0,"57":0,"58":0,"59":0,"60":10,"61":10},"f":{"0":10,"1":7,"2":1,"3":1,"4":0,"5":1,"6":0,"7":0,"8":0,"9":0},"b":{"0":[2],"1":[0,1],"2":[0,1],"3":[0,0],"4":[0,0],"5":[8,2],"6":[0,8],"7":[0,0],"8":[0,0],"9":[0,0],"10":[2,6]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/FeedbackWidget.stories.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/FeedbackWidget.stories.js","statementMap":{"0":{"start":{"line":11,"column":13},"end":{"line":11,"column":20}},"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":15}},"2":{"start":{"line":1,"column":18},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":27},"end":{"line":2,"column":null}},"4":{"start":{"line":4,"column":15},"end":{"line":7,"column":2}},"5":{"start":{"line":11,"column":23},"end":{"line":11,"column":null}},"6":{"start":{"line":13,"column":0},"end":{"line":15,"column":null}}},"fnMap":{},"branchMap":{},"s":{"0":8,"1":0,"2":1,"3":1,"4":1,"5":1,"6":1},"f":{},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/Filter.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/Filter.js","statementMap":{"0":{"start":{"line":7,"column":16},"end":{"line":7,"column":23}},"1":{"start":{"line":1,"column":22},"end":{"line":1,"column":null}},"2":{"start":{"line":2,"column":28},"end":{"line":2,"column":null}},"3":{"start":{"line":20,"column":12},"end":{"line":21,"column":null}},"4":{"start":{"line":40,"column":0},"end":{"line":71,"column":null}}},"fnMap":{"0":{"name":"Filter","decl":{"start":{"line":7,"column":16},"end":{"line":7,"column":23}},"loc":{"start":{"line":7,"column":28},"end":{"line":38,"column":null}}},"1":{"name":"(anonymous_3)","decl":{"start":{"line":19,"column":29},"end":{"line":19,"column":30}},"loc":{"start":{"line":20,"column":12},"end":{"line":21,"column":null}}}},"branchMap":{},"s":{"0":4,"1":1,"2":1,"3":9,"4":1},"f":{"0":3,"1":9},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/Filter.stories.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/Filter.stories.js","statementMap":{"0":{"start":{"line":11,"column":13},"end":{"line":11,"column":20}},"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":15}},"2":{"start":{"line":1,"column":18},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":23},"end":{"line":2,"column":null}},"4":{"start":{"line":4,"column":15},"end":{"line":7,"column":2}},"5":{"start":{"line":11,"column":23},"end":{"line":11,"column":null}},"6":{"start":{"line":13,"column":0},"end":{"line":32,"column":null}}},"fnMap":{},"branchMap":{},"s":{"0":12,"1":0,"2":1,"3":1,"4":1,"5":1,"6":1},"f":{},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/Heading.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/Heading.js","statementMap":{"0":{"start":{"line":3,"column":16},"end":{"line":3,"column":24}},"1":{"start":{"line":1,"column":22},"end":{"line":1,"column":null}},"2":{"start":{"line":4,"column":55},"end":{"line":4,"column":null}},"3":{"start":{"line":27,"column":0},"end":{"line":52,"column":null}}},"fnMap":{"0":{"name":"Heading","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":24}},"loc":{"start":{"line":3,"column":29},"end":{"line":25,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":12,"column":7},"end":{"line":12,"column":19}},"type":"binary-expr","locations":[{"start":{"line":12,"column":7},"end":{"line":12,"column":19}},{"start":{"line":12,"column":19},"end":{"line":12,"column":null}}]}},"s":{"0":11,"1":8,"2":10,"3":8},"f":{"0":10},"b":{"0":[10,1]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/Heading.stories.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/Heading.stories.js","statementMap":{"0":{"start":{"line":10,"column":13},"end":{"line":10,"column":20}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":15}},"2":{"start":{"line":11,"column":13},"end":{"line":11,"column":25}},"3":{"start":{"line":1,"column":24},"end":{"line":1,"column":null}},"4":{"start":{"line":3,"column":15},"end":{"line":6,"column":2}},"5":{"start":{"line":10,"column":23},"end":{"line":10,"column":null}},"6":{"start":{"line":11,"column":28},"end":{"line":11,"column":null}},"7":{"start":{"line":13,"column":0},"end":{"line":16,"column":null}},"8":{"start":{"line":18,"column":0},"end":{"line":23,"column":null}}},"fnMap":{},"branchMap":{},"s":{"0":3,"1":0,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1},"f":{},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/List.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/List.js","statementMap":{"0":{"start":{"line":6,"column":16},"end":{"line":6,"column":21}},"1":{"start":{"line":1,"column":22},"end":{"line":1,"column":null}},"2":{"start":{"line":7,"column":16},"end":{"line":7,"column":null}},"3":{"start":{"line":12,"column":10},"end":{"line":14,"column":null}},"4":{"start":{"line":15,"column":8},"end":{"line":15,"column":null}},"5":{"start":{"line":15,"column":27},"end":{"line":15,"column":null}},"6":{"start":{"line":16,"column":8},"end":{"line":17,"column":24}},"7":{"start":{"line":31,"column":0},"end":{"line":41,"column":null}}},"fnMap":{"0":{"name":"List","decl":{"start":{"line":6,"column":16},"end":{"line":6,"column":21}},"loc":{"start":{"line":6,"column":26},"end":{"line":29,"column":null}}},"1":{"name":"(anonymous_3)","decl":{"start":{"line":10,"column":23},"end":{"line":10,"column":24}},"loc":{"start":{"line":10,"column":30},"end":{"line":26,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":null}},"type":"if","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":null}}]}},"s":{"0":3,"1":1,"2":2,"3":8,"4":8,"5":6,"6":8,"7":1},"f":{"0":2,"1":8},"b":{"0":[6]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/List.stories.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/List.stories.js","statementMap":{"0":{"start":{"line":11,"column":13},"end":{"line":11,"column":20}},"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":15}},"2":{"start":{"line":1,"column":18},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":21},"end":{"line":2,"column":null}},"4":{"start":{"line":4,"column":15},"end":{"line":7,"column":2}},"5":{"start":{"line":11,"column":23},"end":{"line":11,"column":null}},"6":{"start":{"line":13,"column":0},"end":{"line":15,"column":null}}},"fnMap":{},"branchMap":{},"s":{"0":5,"1":0,"2":1,"3":1,"4":1,"5":1,"6":1},"f":{},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/MainBand.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/MainBand.js","statementMap":{"0":{"start":{"line":4,"column":16},"end":{"line":4,"column":25}},"1":{"start":{"line":1,"column":21},"end":{"line":1,"column":null}},"2":{"start":{"line":2,"column":31},"end":{"line":2,"column":null}},"3":{"start":{"line":5,"column":16},"end":{"line":5,"column":null}},"4":{"start":{"line":22,"column":12},"end":{"line":24,"column":null}}},"fnMap":{"0":{"name":"MainBand","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":25}},"loc":{"start":{"line":4,"column":30},"end":{"line":43,"column":null}}},"1":{"name":"(anonymous_2)","decl":{"start":{"line":21,"column":36},"end":{"line":21,"column":37}},"loc":{"start":{"line":21,"column":42},"end":{"line":38,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":26,"column":18},"end":{"line":26,"column":null}},"type":"cond-expr","locations":[{"start":{"line":26,"column":32},"end":{"line":26,"column":66}},{"start":{"line":26,"column":66},"end":{"line":26,"column":null}}]}},"s":{"0":13,"1":9,"2":9,"3":13,"4":273},"f":{"0":13,"1":273},"b":{"0":[13,260]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/Menu.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/Menu.js","statementMap":{"0":{"start":{"line":9,"column":16},"end":{"line":9,"column":21}},"1":{"start":{"line":1,"column":22},"end":{"line":1,"column":null}},"2":{"start":{"line":2,"column":17},"end":{"line":2,"column":null}},"3":{"start":{"line":3,"column":26},"end":{"line":3,"column":null}},"4":{"start":{"line":4,"column":25},"end":{"line":4,"column":null}},"5":{"start":{"line":11,"column":21},"end":{"line":11,"column":null}},"6":{"start":{"line":12,"column":17},"end":{"line":12,"column":null}},"7":{"start":{"line":13,"column":34},"end":{"line":13,"column":null}},"8":{"start":{"line":29,"column":25},"end":{"line":29,"column":null}},"9":{"start":{"line":44,"column":25},"end":{"line":44,"column":null}},"10":{"start":{"line":64,"column":27},"end":{"line":64,"column":47}},"11":{"start":{"line":65,"column":30},"end":{"line":65,"column":58}},"12":{"start":{"line":67,"column":10},"end":{"line":69,"column":null}},"13":{"start":{"line":94,"column":0},"end":{"line":121,"column":null}}},"fnMap":{"0":{"name":"Menu","decl":{"start":{"line":9,"column":16},"end":{"line":9,"column":21}},"loc":{"start":{"line":9,"column":26},"end":{"line":92,"column":null}}},"1":{"name":"(anonymous_3)","decl":{"start":{"line":29,"column":19},"end":{"line":29,"column":25}},"loc":{"start":{"line":29,"column":25},"end":{"line":29,"column":null}}},"2":{"name":"(anonymous_4)","decl":{"start":{"line":44,"column":19},"end":{"line":44,"column":25}},"loc":{"start":{"line":44,"column":25},"end":{"line":44,"column":null}}},"3":{"name":"(anonymous_5)","decl":{"start":{"line":63,"column":25},"end":{"line":63,"column":26}},"loc":{"start":{"line":63,"column":32},"end":{"line":88,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":46,"column":12},"end":{"line":46,"column":null}},"type":"cond-expr","locations":[{"start":{"line":46,"column":23},"end":{"line":46,"column":28}},{"start":{"line":46,"column":28},"end":{"line":46,"column":null}}]},"1":{"loc":{"start":{"line":59,"column":40},"end":{"line":59,"column":65}},"type":"cond-expr","locations":[{"start":{"line":59,"column":51},"end":{"line":59,"column":62}},{"start":{"line":59,"column":62},"end":{"line":59,"column":65}}]},"2":{"loc":{"start":{"line":72,"column":28},"end":{"line":72,"column":null}},"type":"cond-expr","locations":[{"start":{"line":72,"column":39},"end":{"line":72,"column":48}},{"start":{"line":72,"column":48},"end":{"line":72,"column":null}}]},"3":{"loc":{"start":{"line":77,"column":18},"end":{"line":81,"column":null}},"type":"cond-expr","locations":[{"start":{"line":78,"column":22},"end":{"line":80,"column":null}},{"start":{"line":81,"column":22},"end":{"line":81,"column":null}}]},"4":{"loc":{"start":{"line":78,"column":22},"end":{"line":80,"column":null}},"type":"cond-expr","locations":[{"start":{"line":79,"column":24},"end":{"line":79,"column":null}},{"start":{"line":80,"column":24},"end":{"line":80,"column":null}}]}},"s":{"0":4,"1":1,"2":1,"3":1,"4":1,"5":4,"6":4,"7":4,"8":1,"9":0,"10":12,"11":12,"12":12,"13":1},"f":{"0":4,"1":1,"2":0,"3":12},"b":{"0":[1,3],"1":[1,3],"2":[0,12],"3":[0,12],"4":[0,0]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/Menu.stories.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/Menu.stories.js","statementMap":{"0":{"start":{"line":11,"column":13},"end":{"line":11,"column":20}},"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":15}},"2":{"start":{"line":1,"column":18},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":21},"end":{"line":2,"column":null}},"4":{"start":{"line":4,"column":15},"end":{"line":7,"column":2}},"5":{"start":{"line":11,"column":23},"end":{"line":11,"column":null}},"6":{"start":{"line":13,"column":0},"end":{"line":30,"column":null}}},"fnMap":{},"branchMap":{},"s":{"0":6,"1":0,"2":1,"3":1,"4":1,"5":1,"6":1},"f":{},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/OptionalListField.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/OptionalListField.js","statementMap":{"0":{"start":{"line":9,"column":16},"end":{"line":9,"column":34}},"1":{"start":{"line":1,"column":25},"end":{"line":1,"column":null}},"2":{"start":{"line":2,"column":25},"end":{"line":2,"column":null}},"3":{"start":{"line":3,"column":27},"end":{"line":3,"column":null}},"4":{"start":{"line":4,"column":22},"end":{"line":4,"column":null}},"5":{"start":{"line":10,"column":42},"end":{"line":10,"column":null}},"6":{"start":{"line":11,"column":26},"end":{"line":21,"column":null}},"7":{"start":{"line":12,"column":4},"end":{"line":16,"column":null}},"8":{"start":{"line":13,"column":6},"end":{"line":13,"column":null}},"9":{"start":{"line":15,"column":6},"end":{"line":15,"column":null}},"10":{"start":{"line":18,"column":4},"end":{"line":20,"column":null}},"11":{"start":{"line":19,"column":6},"end":{"line":19,"column":null}},"12":{"start":{"line":22,"column":23},"end":{"line":30,"column":null}},"13":{"start":{"line":23,"column":4},"end":{"line":25,"column":null}},"14":{"start":{"line":24,"column":6},"end":{"line":24,"column":null}},"15":{"start":{"line":26,"column":4},"end":{"line":28,"column":null}},"16":{"start":{"line":27,"column":6},"end":{"line":27,"column":null}},"17":{"start":{"line":29,"column":4},"end":{"line":29,"column":null}},"18":{"start":{"line":79,"column":0},"end":{"line":148,"column":null}}},"fnMap":{"0":{"name":"OptionalListField","decl":{"start":{"line":9,"column":16},"end":{"line":9,"column":34}},"loc":{"start":{"line":9,"column":72},"end":{"line":77,"column":null}}},"1":{"name":"(anonymous_3)","decl":{"start":{"line":11,"column":26},"end":{"line":11,"column":27}},"loc":{"start":{"line":11,"column":45},"end":{"line":21,"column":null}}},"2":{"name":"(anonymous_4)","decl":{"start":{"line":22,"column":48},"end":{"line":22,"column":49}},"loc":{"start":{"line":22,"column":52},"end":{"line":30,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":9,"column":36},"end":{"line":9,"column":60}},"type":"default-arg","locations":[{"start":{"line":9,"column":50},"end":{"line":9,"column":60}}]},"1":{"loc":{"start":{"line":10,"column":51},"end":{"line":10,"column":null}},"type":"binary-expr","locations":[{"start":{"line":10,"column":51},"end":{"line":10,"column":64}},{"start":{"line":10,"column":68},"end":{"line":10,"column":null}}]},"2":{"loc":{"start":{"line":12,"column":4},"end":{"line":16,"column":null}},"type":"if","locations":[{"start":{"line":12,"column":4},"end":{"line":16,"column":null}},{"start":{"line":14,"column":11},"end":{"line":16,"column":null}}]},"3":{"loc":{"start":{"line":18,"column":4},"end":{"line":20,"column":null}},"type":"if","locations":[{"start":{"line":18,"column":4},"end":{"line":20,"column":null}}]},"4":{"loc":{"start":{"line":23,"column":4},"end":{"line":25,"column":null}},"type":"if","locations":[{"start":{"line":23,"column":4},"end":{"line":25,"column":null}}]},"5":{"loc":{"start":{"line":26,"column":4},"end":{"line":28,"column":null}},"type":"if","locations":[{"start":{"line":26,"column":4},"end":{"line":28,"column":null}}]},"6":{"loc":{"start":{"line":34,"column":8},"end":{"line":47,"column":9}},"type":"cond-expr","locations":[{"start":{"line":34,"column":8},"end":{"line":47,"column":9}}]},"7":{"loc":{"start":{"line":60,"column":8},"end":{"line":74,"column":null}},"type":"cond-expr","locations":[{"start":{"line":61,"column":8},"end":{"line":74,"column":null}},{"start":{"line":74,"column":10},"end":{"line":74,"column":null}}]},"8":{"loc":{"start":{"line":60,"column":8},"end":{"line":60,"column":61}},"type":"binary-expr","locations":[{"start":{"line":60,"column":8},"end":{"line":60,"column":26}},{"start":{"line":60,"column":30},"end":{"line":60,"column":48}},{"start":{"line":60,"column":48},"end":{"line":60,"column":61}}]},"9":{"loc":{"start":{"line":63,"column":13},"end":{"line":68,"column":null}},"type":"cond-expr","locations":[{"start":{"line":64,"column":14},"end":{"line":68,"column":null}},{"start":{"line":68,"column":14},"end":{"line":68,"column":null}}]}},"s":{"0":5,"1":1,"2":1,"3":1,"4":1,"5":5,"6":5,"7":1,"8":0,"9":1,"10":1,"11":0,"12":5,"13":5,"14":0,"15":5,"16":5,"17":0,"18":1},"f":{"0":5,"1":1,"2":5},"b":{"0":[4],"1":[5,2],"2":[0,1],"3":[0],"4":[0],"5":[5],"6":[4],"7":[4,1],"8":[5,2,4],"9":[0,4]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/OptionalListField.stories.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/OptionalListField.stories.js","statementMap":{"0":{"start":{"line":48,"column":13},"end":{"line":48,"column":30}},"1":{"start":{"line":76,"column":13},"end":{"line":76,"column":31}},"2":{"start":{"line":104,"column":13},"end":{"line":104,"column":18}},"3":{"start":{"line":133,"column":13},"end":{"line":133,"column":25}},"4":{"start":{"line":22,"column":13},"end":{"line":22,"column":21}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":15}},"6":{"start":{"line":1,"column":18},"end":{"line":1,"column":null}},"7":{"start":{"line":2,"column":34},"end":{"line":2,"column":null}},"8":{"start":{"line":3,"column":25},"end":{"line":3,"column":null}},"9":{"start":{"line":4,"column":27},"end":{"line":4,"column":null}},"10":{"start":{"line":6,"column":15},"end":{"line":18,"column":2}},"11":{"start":{"line":22,"column":24},"end":{"line":22,"column":null}},"12":{"start":{"line":23,"column":0},"end":{"line":46,"column":null}},"13":{"start":{"line":48,"column":33},"end":{"line":48,"column":null}},"14":{"start":{"line":49,"column":0},"end":{"line":74,"column":null}},"15":{"start":{"line":76,"column":34},"end":{"line":76,"column":null}},"16":{"start":{"line":77,"column":0},"end":{"line":102,"column":null}},"17":{"start":{"line":104,"column":21},"end":{"line":104,"column":null}},"18":{"start":{"line":105,"column":0},"end":{"line":131,"column":null}},"19":{"start":{"line":133,"column":28},"end":{"line":133,"column":null}},"20":{"start":{"line":134,"column":0},"end":{"line":159,"column":null}}},"fnMap":{},"branchMap":{},"s":{"0":2,"1":2,"2":2,"3":2,"4":0,"5":0,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1},"f":{},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/OptionalTextField.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/OptionalTextField.js","statementMap":{"0":{"start":{"line":12,"column":16},"end":{"line":12,"column":34}},"1":{"start":{"line":1,"column":25},"end":{"line":1,"column":null}},"2":{"start":{"line":2,"column":25},"end":{"line":2,"column":null}},"3":{"start":{"line":3,"column":26},"end":{"line":3,"column":null}},"4":{"start":{"line":4,"column":31},"end":{"line":4,"column":null}},"5":{"start":{"line":5,"column":27},"end":{"line":5,"column":null}},"6":{"start":{"line":6,"column":31},"end":{"line":6,"column":null}},"7":{"start":{"line":7,"column":22},"end":{"line":7,"column":null}},"8":{"start":{"line":13,"column":42},"end":{"line":13,"column":null}},"9":{"start":{"line":14,"column":40},"end":{"line":14,"column":null}},"10":{"start":{"line":15,"column":16},"end":{"line":15,"column":null}},"11":{"start":{"line":16,"column":26},"end":{"line":28,"column":null}},"12":{"start":{"line":17,"column":4},"end":{"line":23,"column":null}},"13":{"start":{"line":18,"column":6},"end":{"line":18,"column":null}},"14":{"start":{"line":19,"column":6},"end":{"line":19,"column":null}},"15":{"start":{"line":21,"column":6},"end":{"line":21,"column":null}},"16":{"start":{"line":22,"column":6},"end":{"line":22,"column":null}},"17":{"start":{"line":25,"column":4},"end":{"line":27,"column":null}},"18":{"start":{"line":26,"column":6},"end":{"line":26,"column":null}},"19":{"start":{"line":106,"column":0},"end":{"line":260,"column":null}}},"fnMap":{"0":{"name":"OptionalTextField","decl":{"start":{"line":12,"column":16},"end":{"line":12,"column":34}},"loc":{"start":{"line":12,"column":72},"end":{"line":104,"column":null}}},"1":{"name":"(anonymous_3)","decl":{"start":{"line":16,"column":26},"end":{"line":16,"column":27}},"loc":{"start":{"line":16,"column":45},"end":{"line":28,"column":null}}},"2":{"name":"(anonymous_4)","decl":{"start":{"line":76,"column":66},"end":{"line":76,"column":73}},"loc":{"start":{"line":76,"column":66},"end":{"line":76,"column":null}}},"3":{"name":"(anonymous_5)","decl":{"start":{"line":94,"column":66},"end":{"line":94,"column":73}},"loc":{"start":{"line":94,"column":66},"end":{"line":94,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":12,"column":36},"end":{"line":12,"column":60}},"type":"default-arg","locations":[{"start":{"line":12,"column":50},"end":{"line":12,"column":60}}]},"1":{"loc":{"start":{"line":13,"column":51},"end":{"line":13,"column":null}},"type":"binary-expr","locations":[{"start":{"line":13,"column":51},"end":{"line":13,"column":64}},{"start":{"line":13,"column":68},"end":{"line":13,"column":null}}]},"2":{"loc":{"start":{"line":17,"column":4},"end":{"line":23,"column":null}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":23,"column":null}},{"start":{"line":20,"column":11},"end":{"line":23,"column":null}}]},"3":{"loc":{"start":{"line":25,"column":4},"end":{"line":27,"column":null}},"type":"if","locations":[{"start":{"line":25,"column":4},"end":{"line":27,"column":null}}]},"4":{"loc":{"start":{"line":31,"column":7},"end":{"line":31,"column":null}},"type":"binary-expr","locations":[{"start":{"line":31,"column":7},"end":{"line":31,"column":null}}]},"5":{"loc":{"start":{"line":47,"column":7},"end":{"line":47,"column":null}},"type":"binary-expr","locations":[{"start":{"line":47,"column":7},"end":{"line":47,"column":null}}]},"6":{"loc":{"start":{"line":61,"column":8},"end":{"line":101,"column":null}},"type":"cond-expr","locations":[{"start":{"line":62,"column":8},"end":{"line":101,"column":null}},{"start":{"line":101,"column":10},"end":{"line":101,"column":null}}]},"7":{"loc":{"start":{"line":61,"column":8},"end":{"line":61,"column":61}},"type":"binary-expr","locations":[{"start":{"line":61,"column":8},"end":{"line":61,"column":26}},{"start":{"line":61,"column":30},"end":{"line":61,"column":48}},{"start":{"line":61,"column":48},"end":{"line":61,"column":61}}]},"8":{"loc":{"start":{"line":62,"column":8},"end":{"line":101,"column":null}},"type":"cond-expr","locations":[{"start":{"line":63,"column":10},"end":{"line":84,"column":11}},{"start":{"line":84,"column":10},"end":{"line":101,"column":null}}]},"9":{"loc":{"start":{"line":76,"column":14},"end":{"line":76,"column":null}},"type":"cond-expr","locations":[{"start":{"line":76,"column":40},"end":{"line":76,"column":63}},{"start":{"line":76,"column":66},"end":{"line":76,"column":null}}]},"10":{"loc":{"start":{"line":94,"column":14},"end":{"line":94,"column":null}},"type":"cond-expr","locations":[{"start":{"line":94,"column":40},"end":{"line":94,"column":63}},{"start":{"line":94,"column":66},"end":{"line":94,"column":null}}]}},"s":{"0":54,"1":2,"2":2,"3":2,"4":2,"5":2,"6":2,"7":2,"8":55,"9":55,"10":55,"11":55,"12":3,"13":0,"14":0,"15":3,"16":3,"17":3,"18":0,"19":2},"f":{"0":55,"1":3,"2":0,"3":0},"b":{"0":[54],"1":[55,54],"2":[0,3],"3":[0],"4":[55],"5":[55],"6":[4,51],"7":[55,54,52],"8":[2,2],"9":[0,2],"10":[0,2]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/OptionalTextField.stories.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/OptionalTextField.stories.js","statementMap":{"0":{"start":{"line":72,"column":13},"end":{"line":72,"column":22}},"1":{"start":{"line":32,"column":13},"end":{"line":32,"column":19}},"2":{"start":{"line":45,"column":13},"end":{"line":45,"column":18}},"3":{"start":{"line":59,"column":13},"end":{"line":59,"column":25}},"4":{"start":{"line":20,"column":13},"end":{"line":20,"column":21}},"5":{"start":{"line":4,"column":0},"end":{"line":4,"column":15}},"6":{"start":{"line":1,"column":18},"end":{"line":1,"column":null}},"7":{"start":{"line":2,"column":34},"end":{"line":2,"column":null}},"8":{"start":{"line":4,"column":15},"end":{"line":16,"column":2}},"9":{"start":{"line":20,"column":24},"end":{"line":20,"column":null}},"10":{"start":{"line":21,"column":0},"end":{"line":30,"column":null}},"11":{"start":{"line":32,"column":22},"end":{"line":32,"column":null}},"12":{"start":{"line":33,"column":0},"end":{"line":43,"column":null}},"13":{"start":{"line":45,"column":21},"end":{"line":45,"column":null}},"14":{"start":{"line":46,"column":0},"end":{"line":57,"column":null}},"15":{"start":{"line":59,"column":28},"end":{"line":59,"column":null}},"16":{"start":{"line":60,"column":0},"end":{"line":70,"column":null}},"17":{"start":{"line":72,"column":25},"end":{"line":72,"column":null}},"18":{"start":{"line":73,"column":0},"end":{"line":85,"column":null}}},"fnMap":{},"branchMap":{},"s":{"0":2,"1":0,"2":2,"3":2,"4":0,"5":0,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1},"f":{},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/Quote.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/Quote.js","statementMap":{"0":{"start":{"line":6,"column":16},"end":{"line":6,"column":22}},"1":{"start":{"line":1,"column":22},"end":{"line":1,"column":null}},"2":{"start":{"line":21,"column":0},"end":{"line":36,"column":null}}},"fnMap":{"0":{"name":"Quote","decl":{"start":{"line":6,"column":16},"end":{"line":6,"column":22}},"loc":{"start":{"line":6,"column":27},"end":{"line":19,"column":null}}}},"branchMap":{},"s":{"0":3,"1":1,"2":1},"f":{"0":2},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/Quote.stories.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/Quote.stories.js","statementMap":{"0":{"start":{"line":11,"column":13},"end":{"line":11,"column":20}},"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":15}},"2":{"start":{"line":1,"column":18},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":22},"end":{"line":2,"column":null}},"4":{"start":{"line":4,"column":15},"end":{"line":7,"column":2}},"5":{"start":{"line":11,"column":23},"end":{"line":11,"column":null}},"6":{"start":{"line":13,"column":0},"end":{"line":16,"column":null}}},"fnMap":{},"branchMap":{},"s":{"0":5,"1":0,"2":1,"3":1,"4":1,"5":1,"6":1},"f":{},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/SubFooterBand.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/SubFooterBand.js","statementMap":{"0":{"start":{"line":54,"column":16},"end":{"line":54,"column":30}},"1":{"start":{"line":1,"column":21},"end":{"line":1,"column":null}},"2":{"start":{"line":2,"column":22},"end":{"line":2,"column":null}},"3":{"start":{"line":4,"column":28},"end":{"line":25,"column":null}},"4":{"start":{"line":27,"column":28},"end":{"line":48,"column":null}},"5":{"start":{"line":50,"column":27},"end":{"line":52,"column":null}},"6":{"start":{"line":51,"column":2},"end":{"line":51,"column":null}},"7":{"start":{"line":79,"column":22},"end":{"line":81,"column":null}},"8":{"start":{"line":99,"column":24},"end":{"line":101,"column":null}}},"fnMap":{"0":{"name":"(anonymous_1)","decl":{"start":{"line":50,"column":27},"end":{"line":50,"column":28}},"loc":{"start":{"line":50,"column":28},"end":{"line":52,"column":null}}},"1":{"name":"SubFooterBand","decl":{"start":{"line":54,"column":16},"end":{"line":54,"column":30}},"loc":{"start":{"line":54,"column":35},"end":{"line":142,"column":null}}},"2":{"name":"(anonymous_3)","decl":{"start":{"line":78,"column":41},"end":{"line":78,"column":42}},"loc":{"start":{"line":78,"column":67},"end":{"line":96,"column":null}}},"3":{"name":"(anonymous_4)","decl":{"start":{"line":98,"column":22},"end":{"line":98,"column":23}},"loc":{"start":{"line":98,"column":39},"end":{"line":118,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":51,"column":9},"end":{"line":51,"column":null}},"type":"cond-expr","locations":[{"start":{"line":51,"column":27},"end":{"line":51,"column":49}},{"start":{"line":51,"column":49},"end":{"line":51,"column":null}}]},"1":{"loc":{"start":{"line":59,"column":10},"end":{"line":59,"column":null}},"type":"cond-expr","locations":[{"start":{"line":59,"column":34},"end":{"line":59,"column":51}},{"start":{"line":59,"column":51},"end":{"line":59,"column":null}}]},"2":{"loc":{"start":{"line":60,"column":12},"end":{"line":60,"column":46}},"type":"cond-expr","locations":[{"start":{"line":60,"column":26},"end":{"line":60,"column":43}},{"start":{"line":60,"column":43},"end":{"line":60,"column":46}}]},"3":{"loc":{"start":{"line":63,"column":10},"end":{"line":74,"column":11}},"type":"cond-expr","locations":[{"start":{"line":63,"column":10},"end":{"line":74,"column":11}}]},"4":{"loc":{"start":{"line":77,"column":17},"end":{"line":118,"column":null}},"type":"cond-expr","locations":[{"start":{"line":78,"column":20},"end":{"line":96,"column":null}},{"start":{"line":97,"column":20},"end":{"line":118,"column":null}}]},"5":{"loc":{"start":{"line":83,"column":28},"end":{"line":83,"column":null}},"type":"cond-expr","locations":[{"start":{"line":83,"column":42},"end":{"line":83,"column":47}},{"start":{"line":83,"column":47},"end":{"line":83,"column":null}}]},"6":{"loc":{"start":{"line":87,"column":37},"end":{"line":87,"column":null}},"type":"cond-expr","locations":[{"start":{"line":87,"column":47},"end":{"line":87,"column":57}},{"start":{"line":87,"column":57},"end":{"line":87,"column":null}}]},"7":{"loc":{"start":{"line":103,"column":30},"end":{"line":103,"column":null}},"type":"cond-expr","locations":[{"start":{"line":103,"column":44},"end":{"line":103,"column":49}},{"start":{"line":103,"column":49},"end":{"line":103,"column":null}}]},"8":{"loc":{"start":{"line":108,"column":32},"end":{"line":108,"column":null}},"type":"cond-expr","locations":[{"start":{"line":108,"column":48},"end":{"line":108,"column":61}},{"start":{"line":108,"column":64},"end":{"line":108,"column":null}}]},"9":{"loc":{"start":{"line":126,"column":12},"end":{"line":126,"column":null}},"type":"cond-expr","locations":[{"start":{"line":126,"column":26},"end":{"line":126,"column":43}},{"start":{"line":126,"column":43},"end":{"line":126,"column":null}}]},"10":{"loc":{"start":{"line":131,"column":14},"end":{"line":133,"column":null}},"type":"cond-expr","locations":[{"start":{"line":132,"column":18},"end":{"line":132,"column":null}},{"start":{"line":133,"column":18},"end":{"line":133,"column":null}}]}},"s":{"0":13,"1":9,"2":9,"3":9,"4":9,"5":9,"6":13,"7":0,"8":65},"f":{"0":13,"1":13,"2":0,"3":65},"b":{"0":[0,13],"1":[0,13],"2":[0,13],"3":[0],"4":[0,13],"5":[0,0],"6":[0,0],"7":[13,52],"8":[0,65],"9":[0,13],"10":[0,13]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/TextButtonField.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/TextButtonField.js","statementMap":{"0":{"start":{"line":7,"column":16},"end":{"line":7,"column":32}},"1":{"start":{"line":1,"column":22},"end":{"line":1,"column":null}},"2":{"start":{"line":2,"column":29},"end":{"line":2,"column":null}},"3":{"start":{"line":10,"column":2},"end":{"line":13,"column":null}},"4":{"start":{"line":11,"column":4},"end":{"line":13,"column":null}},"5":{"start":{"line":44,"column":0},"end":{"line":98,"column":null}}},"fnMap":{"0":{"name":"TextButtonField","decl":{"start":{"line":7,"column":16},"end":{"line":7,"column":32}},"loc":{"start":{"line":7,"column":37},"end":{"line":42,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":2},"end":{"line":13,"column":null}},"type":"if","locations":[{"start":{"line":10,"column":2},"end":{"line":13,"column":null}}]},"1":{"loc":{"start":{"line":11,"column":4},"end":{"line":13,"column":36}},"type":"cond-expr","locations":[{"start":{"line":12,"column":9},"end":{"line":12,"column":null}},{"start":{"line":13,"column":9},"end":{"line":13,"column":36}}]},"2":{"loc":{"start":{"line":18,"column":8},"end":{"line":20,"column":9}},"type":"cond-expr","locations":[{"start":{"line":18,"column":8},"end":{"line":20,"column":9}}]},"3":{"loc":{"start":{"line":26,"column":7},"end":{"line":38,"column":null}},"type":"cond-expr","locations":[{"start":{"line":27,"column":8},"end":{"line":38,"column":null}},{"start":{"line":38,"column":8},"end":{"line":38,"column":null}}]}},"s":{"0":7,"1":1,"2":1,"3":6,"4":5,"5":1},"f":{"0":6},"b":{"0":[5],"1":[2,3],"2":[0],"3":[6,0]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/TextButtonField.stories.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/TextButtonField.stories.js","statementMap":{"0":{"start":{"line":14,"column":13},"end":{"line":14,"column":19}},"1":{"start":{"line":13,"column":13},"end":{"line":13,"column":21}},"2":{"start":{"line":11,"column":13},"end":{"line":11,"column":20}},"3":{"start":{"line":12,"column":13},"end":{"line":12,"column":22}},"4":{"start":{"line":4,"column":0},"end":{"line":4,"column":15}},"5":{"start":{"line":1,"column":18},"end":{"line":1,"column":null}},"6":{"start":{"line":2,"column":32},"end":{"line":2,"column":null}},"7":{"start":{"line":4,"column":15},"end":{"line":7,"column":2}},"8":{"start":{"line":11,"column":23},"end":{"line":11,"column":null}},"9":{"start":{"line":12,"column":25},"end":{"line":12,"column":null}},"10":{"start":{"line":13,"column":24},"end":{"line":13,"column":null}},"11":{"start":{"line":14,"column":22},"end":{"line":14,"column":null}},"12":{"start":{"line":16,"column":0},"end":{"line":22,"column":null}},"13":{"start":{"line":24,"column":0},"end":{"line":29,"column":null}},"14":{"start":{"line":31,"column":0},"end":{"line":37,"column":null}},"15":{"start":{"line":39,"column":0},"end":{"line":45,"column":null}}},"fnMap":{},"branchMap":{},"s":{"0":3,"1":3,"2":8,"3":3,"4":0,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1},"f":{},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/TopNavBar.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/TopNavBar.js","statementMap":{"0":{"start":{"line":4,"column":16},"end":{"line":4,"column":26}},"1":{"start":{"line":1,"column":17},"end":{"line":1,"column":null}},"2":{"start":{"line":2,"column":32},"end":{"line":2,"column":null}},"3":{"start":{"line":14,"column":30},"end":{"line":14,"column":null}},"4":{"start":{"line":15,"column":60},"end":{"line":15,"column":null}},"5":{"start":{"line":18,"column":22},"end":{"line":20,"column":null}},"6":{"start":{"line":19,"column":4},"end":{"line":19,"column":null}},"7":{"start":{"line":22,"column":27},"end":{"line":28,"column":null}},"8":{"start":{"line":23,"column":4},"end":{"line":23,"column":null}},"9":{"start":{"line":24,"column":4},"end":{"line":27,"column":null}},"10":{"start":{"line":25,"column":6},"end":{"line":25,"column":null}},"11":{"start":{"line":26,"column":6},"end":{"line":26,"column":null}}},"fnMap":{"0":{"name":"TopNavBar","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":26}},"loc":{"start":{"line":13,"column":1},"end":{"line":142,"column":null}}},"1":{"name":"(anonymous_6)","decl":{"start":{"line":18,"column":22},"end":{"line":18,"column":null}},"loc":{"start":{"line":18,"column":22},"end":{"line":20,"column":null}}},"2":{"name":"(anonymous_7)","decl":{"start":{"line":22,"column":27},"end":{"line":22,"column":null}},"loc":{"start":{"line":22,"column":27},"end":{"line":28,"column":null}}},"3":{"name":"(anonymous_8)","decl":{"start":{"line":24,"column":15},"end":{"line":24,"column":null}},"loc":{"start":{"line":24,"column":15},"end":{"line":27,"column":7}}}},"branchMap":{"0":{"loc":{"start":{"line":19,"column":4},"end":{"line":19,"column":null}},"type":"cond-expr","locations":[{"start":{"line":19,"column":13},"end":{"line":19,"column":34}},{"start":{"line":19,"column":34},"end":{"line":19,"column":null}}]},"1":{"loc":{"start":{"line":54,"column":25},"end":{"line":54,"column":null}},"type":"cond-expr","locations":[{"start":{"line":54,"column":34},"end":{"line":54,"column":43}},{"start":{"line":54,"column":43},"end":{"line":54,"column":null}}]},"2":{"loc":{"start":{"line":60,"column":12},"end":{"line":77,"column":13}},"type":"cond-expr","locations":[{"start":{"line":60,"column":12},"end":{"line":77,"column":13}}]},"3":{"loc":{"start":{"line":62,"column":16},"end":{"line":62,"column":null}},"type":"cond-expr","locations":[{"start":{"line":62,"column":40},"end":{"line":62,"column":53}},{"start":{"line":62,"column":53},"end":{"line":62,"column":null}}]},"4":{"loc":{"start":{"line":77,"column":31},"end":{"line":77,"column":70}},"type":"cond-expr","locations":[{"start":{"line":77,"column":55},"end":{"line":77,"column":67}},{"start":{"line":77,"column":67},"end":{"line":77,"column":70}}]},"5":{"loc":{"start":{"line":107,"column":9},"end":{"line":137,"column":null}},"type":"cond-expr","locations":[{"start":{"line":108,"column":10},"end":{"line":137,"column":null}},{"start":{"line":137,"column":10},"end":{"line":137,"column":null}}]},"6":{"loc":{"start":{"line":111,"column":14},"end":{"line":111,"column":null}},"type":"cond-expr","locations":[{"start":{"line":111,"column":38},"end":{"line":111,"column":51}},{"start":{"line":111,"column":51},"end":{"line":111,"column":null}}]},"7":{"loc":{"start":{"line":116,"column":16},"end":{"line":116,"column":null}},"type":"cond-expr","locations":[{"start":{"line":116,"column":40},"end":{"line":116,"column":60}},{"start":{"line":116,"column":60},"end":{"line":116,"column":null}}]},"8":{"loc":{"start":{"line":123,"column":16},"end":{"line":123,"column":null}},"type":"cond-expr","locations":[{"start":{"line":123,"column":40},"end":{"line":123,"column":60}},{"start":{"line":123,"column":60},"end":{"line":123,"column":null}}]},"9":{"loc":{"start":{"line":130,"column":16},"end":{"line":130,"column":null}},"type":"cond-expr","locations":[{"start":{"line":130,"column":40},"end":{"line":130,"column":60}},{"start":{"line":130,"column":60},"end":{"line":130,"column":null}}]}},"s":{"0":5,"1":9,"2":9,"3":3,"4":3,"5":3,"6":0,"7":3,"8":0,"9":0,"10":0,"11":0},"f":{"0":3,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,3],"2":[0],"3":[0,0],"4":[0,3],"5":[0,3],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/TopNavBar.stories.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/molecules/TopNavBar.stories.js","statementMap":{"0":{"start":{"line":11,"column":13},"end":{"line":11,"column":20}},"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":15}},"2":{"start":{"line":1,"column":18},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":26},"end":{"line":2,"column":null}},"4":{"start":{"line":4,"column":15},"end":{"line":7,"column":2}},"5":{"start":{"line":11,"column":23},"end":{"line":11,"column":null}},"6":{"start":{"line":13,"column":0},"end":{"line":22,"column":null}}},"fnMap":{},"branchMap":{},"s":{"0":6,"1":0,"2":1,"3":1,"4":1,"5":1,"6":1},"f":{},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/organisms/Feedback.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/organisms/Feedback.js","statementMap":{"0":{"start":{"line":132,"column":0},"end":{"line":132,"column":15}},"1":{"start":{"line":1,"column":25},"end":{"line":1,"column":null}},"2":{"start":{"line":2,"column":18},"end":{"line":2,"column":null}},"3":{"start":{"line":3,"column":26},"end":{"line":3,"column":null}},"4":{"start":{"line":4,"column":31},"end":{"line":4,"column":null}},"5":{"start":{"line":7,"column":40},"end":{"line":7,"column":null}},"6":{"start":{"line":8,"column":56},"end":{"line":8,"column":null}},"7":{"start":{"line":10,"column":17},"end":{"line":10,"column":null}},"8":{"start":{"line":11,"column":16},"end":{"line":11,"column":null}},"9":{"start":{"line":14,"column":4},"end":{"line":14,"column":null}},"10":{"start":{"line":15,"column":4},"end":{"line":25,"column":null}},"11":{"start":{"line":16,"column":6},"end":{"line":22,"column":null}},"12":{"start":{"line":24,"column":6},"end":{"line":24,"column":null}},"13":{"start":{"line":114,"column":29},"end":{"line":114,"column":null}},"14":{"start":{"line":120,"column":29},"end":{"line":120,"column":null}},"15":{"start":{"line":132,"column":15},"end":{"line":132,"column":null}}},"fnMap":{"0":{"name":"Feedback","decl":{"start":{"line":6,"column":9},"end":{"line":6,"column":null}},"loc":{"start":{"line":6,"column":9},"end":{"line":130,"column":null}}},"1":{"name":"handleSubmit","decl":{"start":{"line":13,"column":17},"end":{"line":13,"column":30}},"loc":{"start":{"line":13,"column":31},"end":{"line":26,"column":null}}},"2":{"name":"(anonymous_4)","decl":{"start":{"line":114,"column":23},"end":{"line":114,"column":29}},"loc":{"start":{"line":114,"column":29},"end":{"line":114,"column":null}}},"3":{"name":"(anonymous_5)","decl":{"start":{"line":120,"column":23},"end":{"line":120,"column":29}},"loc":{"start":{"line":120,"column":29},"end":{"line":120,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":30,"column":7},"end":{"line":30,"column":null}},"type":"binary-expr","locations":[{"start":{"line":30,"column":7},"end":{"line":30,"column":null}}]},"1":{"loc":{"start":{"line":44,"column":7},"end":{"line":44,"column":30}},"type":"binary-expr","locations":[{"start":{"line":44,"column":7},"end":{"line":44,"column":30}},{"start":{"line":44,"column":30},"end":{"line":44,"column":null}}]},"2":{"loc":{"start":{"line":109,"column":7},"end":{"line":109,"column":23}},"type":"binary-expr","locations":[{"start":{"line":109,"column":7},"end":{"line":109,"column":23}},{"start":{"line":109,"column":23},"end":{"line":109,"column":null}}]}},"s":{"0":12,"1":8,"2":8,"3":8,"4":8,"5":12,"6":12,"7":12,"8":12,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":8},"f":{"0":12,"1":0,"2":0,"3":0},"b":{"0":[12],"1":[12,0],"2":[12,12]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/organisms/Footer.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/organisms/Footer.js","statementMap":{"0":{"start":{"line":31,"column":13},"end":{"line":31,"column":22}},"1":{"start":{"line":2,"column":22},"end":{"line":2,"column":null}},"2":{"start":{"line":3,"column":25},"end":{"line":3,"column":null}},"3":{"start":{"line":4,"column":30},"end":{"line":4,"column":null}},"4":{"start":{"line":5,"column":21},"end":{"line":5,"column":null}},"5":{"start":{"line":7,"column":26},"end":{"line":29,"column":null}},"6":{"start":{"line":31,"column":22},"end":{"line":84,"column":null}},"7":{"start":{"line":86,"column":0},"end":{"line":140,"column":null}}},"fnMap":{"0":{"name":"(anonymous_2)","decl":{"start":{"line":31,"column":22},"end":{"line":31,"column":23}},"loc":{"start":{"line":42,"column":1},"end":{"line":84,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":45,"column":7},"end":{"line":60,"column":null}},"type":"cond-expr","locations":[{"start":{"line":46,"column":8},"end":{"line":60,"column":null}},{"start":{"line":60,"column":8},"end":{"line":60,"column":null}}]},"1":{"loc":{"start":{"line":45,"column":7},"end":{"line":45,"column":null}},"type":"binary-expr","locations":[{"start":{"line":45,"column":7},"end":{"line":45,"column":25}},{"start":{"line":45,"column":25},"end":{"line":45,"column":null}}]}},"s":{"0":14,"1":9,"2":9,"3":9,"4":9,"5":9,"6":9,"7":9},"f":{"0":13},"b":{"0":[0,13],"1":[13,0]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/organisms/Footer.stories.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/organisms/Footer.stories.js","statementMap":{"0":{"start":{"line":11,"column":13},"end":{"line":11,"column":26}},"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":15}},"2":{"start":{"line":1,"column":18},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":23},"end":{"line":2,"column":null}},"4":{"start":{"line":4,"column":15},"end":{"line":7,"column":2}},"5":{"start":{"line":11,"column":29},"end":{"line":11,"column":null}},"6":{"start":{"line":12,"column":0},"end":{"line":16,"column":null}}},"fnMap":{},"branchMap":{},"s":{"0":1,"1":0,"2":1,"3":1,"4":1,"5":1,"6":1},"f":{},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/organisms/HelpIcon.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/organisms/HelpIcon.js","statementMap":{"0":{"start":{"line":5,"column":13},"end":{"line":5,"column":24}},"1":{"start":{"line":1,"column":25},"end":{"line":1,"column":null}},"2":{"start":{"line":2,"column":22},"end":{"line":2,"column":null}},"3":{"start":{"line":3,"column":25},"end":{"line":3,"column":null}},"4":{"start":{"line":5,"column":24},"end":{"line":76,"column":null}},"5":{"start":{"line":6,"column":36},"end":{"line":6,"column":null}},"6":{"start":{"line":7,"column":22},"end":{"line":7,"column":null}},"7":{"start":{"line":7,"column":28},"end":{"line":7,"column":null}},"8":{"start":{"line":8,"column":21},"end":{"line":8,"column":null}},"9":{"start":{"line":8,"column":27},"end":{"line":8,"column":null}}},"fnMap":{"0":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":24},"end":{"line":5,"column":25}},"loc":{"start":{"line":5,"column":46},"end":{"line":76,"column":null}}},"1":{"name":"(anonymous_2)","decl":{"start":{"line":7,"column":22},"end":{"line":7,"column":28}},"loc":{"start":{"line":7,"column":28},"end":{"line":7,"column":null}}},"2":{"name":"(anonymous_3)","decl":{"start":{"line":8,"column":21},"end":{"line":8,"column":27}},"loc":{"start":{"line":8,"column":27},"end":{"line":8,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":30,"column":7},"end":{"line":30,"column":null}},"type":"binary-expr","locations":[{"start":{"line":30,"column":7},"end":{"line":30,"column":null}}]},"1":{"loc":{"start":{"line":43,"column":28},"end":{"line":43,"column":null}},"type":"cond-expr","locations":[{"start":{"line":43,"column":44},"end":{"line":43,"column":54}},{"start":{"line":43,"column":54},"end":{"line":43,"column":null}}]},"2":{"loc":{"start":{"line":67,"column":22},"end":{"line":67,"column":null}},"type":"cond-expr","locations":[{"start":{"line":67,"column":38},"end":{"line":67,"column":48}},{"start":{"line":67,"column":48},"end":{"line":67,"column":null}}]}},"s":{"0":10,"1":8,"2":8,"3":8,"4":8,"5":9,"6":9,"7":0,"8":9,"9":0},"f":{"0":9,"1":0,"2":0},"b":{"0":[9],"1":[0,0],"2":[0,0]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/organisms/HelpIcon.stories.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/organisms/HelpIcon.stories.js","statementMap":{"0":{"start":{"line":11,"column":13},"end":{"line":11,"column":20}},"1":{"start":{"line":12,"column":13},"end":{"line":12,"column":21}},"2":{"start":{"line":13,"column":13},"end":{"line":13,"column":21}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":15}},"4":{"start":{"line":1,"column":23},"end":{"line":1,"column":null}},"5":{"start":{"line":2,"column":25},"end":{"line":2,"column":null}},"6":{"start":{"line":4,"column":15},"end":{"line":7,"column":2}},"7":{"start":{"line":11,"column":23},"end":{"line":11,"column":null}},"8":{"start":{"line":12,"column":24},"end":{"line":12,"column":null}},"9":{"start":{"line":13,"column":24},"end":{"line":13,"column":null}},"10":{"start":{"line":15,"column":0},"end":{"line":19,"column":null}},"11":{"start":{"line":21,"column":0},"end":{"line":25,"column":null}},"12":{"start":{"line":27,"column":0},"end":{"line":31,"column":null}}},"fnMap":{},"branchMap":{},"s":{"0":1,"1":0,"2":0,"3":0,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1},"f":{},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/organisms/Layout.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/organisms/Layout.js","statementMap":{"0":{"start":{"line":15,"column":13},"end":{"line":15,"column":22}},"1":{"start":{"line":1,"column":22},"end":{"line":1,"column":null}},"2":{"start":{"line":2,"column":23},"end":{"line":2,"column":null}},"3":{"start":{"line":3,"column":28},"end":{"line":3,"column":null}},"4":{"start":{"line":4,"column":17},"end":{"line":4,"column":null}},"5":{"start":{"line":5,"column":31},"end":{"line":5,"column":null}},"6":{"start":{"line":6,"column":29},"end":{"line":6,"column":null}},"7":{"start":{"line":7,"column":27},"end":{"line":7,"column":null}},"8":{"start":{"line":8,"column":23},"end":{"line":8,"column":null}},"9":{"start":{"line":9,"column":21},"end":{"line":9,"column":null}},"10":{"start":{"line":10,"column":26},"end":{"line":10,"column":null}},"11":{"start":{"line":15,"column":22},"end":{"line":158,"column":null}},"12":{"start":{"line":32,"column":16},"end":{"line":32,"column":null}},"13":{"start":{"line":33,"column":19},"end":{"line":33,"column":null}},"14":{"start":{"line":34,"column":2},"end":{"line":37,"column":null}},"15":{"start":{"line":39,"column":28},"end":{"line":39,"column":null}},"16":{"start":{"line":160,"column":0},"end":{"line":243,"column":null}}},"fnMap":{"0":{"name":"(anonymous_2)","decl":{"start":{"line":15,"column":22},"end":{"line":15,"column":23}},"loc":{"start":{"line":31,"column":1},"end":{"line":158,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":33,"column":19},"end":{"line":33,"column":null}},"type":"cond-expr","locations":[{"start":{"line":33,"column":37},"end":{"line":33,"column":44}},{"start":{"line":33,"column":44},"end":{"line":33,"column":null}}]},"1":{"loc":{"start":{"line":35,"column":4},"end":{"line":37,"column":null}},"type":"cond-expr","locations":[{"start":{"line":36,"column":8},"end":{"line":36,"column":28}},{"start":{"line":37,"column":8},"end":{"line":37,"column":null}}]},"2":{"loc":{"start":{"line":35,"column":4},"end":{"line":35,"column":59}},"type":"binary-expr","locations":[{"start":{"line":35,"column":4},"end":{"line":35,"column":37}},{"start":{"line":35,"column":37},"end":{"line":35,"column":59}}]},"3":{"loc":{"start":{"line":58,"column":9},"end":{"line":67,"column":null}},"type":"cond-expr","locations":[{"start":{"line":59,"column":10},"end":{"line":67,"column":null}},{"start":{"line":67,"column":10},"end":{"line":67,"column":null}}]},"4":{"loc":{"start":{"line":80,"column":21},"end":{"line":80,"column":null}},"type":"cond-expr","locations":[{"start":{"line":80,"column":41},"end":{"line":80,"column":61}},{"start":{"line":80,"column":61},"end":{"line":80,"column":null}}]},"5":{"loc":{"start":{"line":95,"column":15},"end":{"line":95,"column":null}},"type":"cond-expr","locations":[{"start":{"line":95,"column":35},"end":{"line":95,"column":42}},{"start":{"line":95,"column":42},"end":{"line":95,"column":null}}]},"6":{"loc":{"start":{"line":108,"column":15},"end":{"line":108,"column":null}},"type":"cond-expr","locations":[{"start":{"line":108,"column":35},"end":{"line":108,"column":47}},{"start":{"line":108,"column":47},"end":{"line":108,"column":null}}]},"7":{"loc":{"start":{"line":113,"column":9},"end":{"line":124,"column":null}},"type":"cond-expr","locations":[{"start":{"line":114,"column":10},"end":{"line":124,"column":null}},{"start":{"line":124,"column":12},"end":{"line":124,"column":null}}]},"8":{"loc":{"start":{"line":130,"column":7},"end":{"line":132,"column":null}},"type":"cond-expr","locations":[{"start":{"line":131,"column":8},"end":{"line":132,"column":null}},{"start":{"line":132,"column":10},"end":{"line":132,"column":null}}]},"9":{"loc":{"start":{"line":130,"column":7},"end":{"line":130,"column":null}},"type":"binary-expr","locations":[{"start":{"line":130,"column":7},"end":{"line":130,"column":21}},{"start":{"line":130,"column":21},"end":{"line":130,"column":null}}]},"10":{"loc":{"start":{"line":136,"column":9},"end":{"line":141,"column":null}},"type":"cond-expr","locations":[{"start":{"line":137,"column":10},"end":{"line":141,"column":null}},{"start":{"line":141,"column":10},"end":{"line":141,"column":null}}]}},"s":{"0":15,"1":8,"2":8,"3":8,"4":8,"5":8,"6":8,"7":8,"8":8,"9":8,"10":8,"11":8,"12":12,"13":12,"14":12,"15":12,"16":8},"f":{"0":12},"b":{"0":[0,12],"1":[12,0],"2":[12,12],"3":[0,12],"4":[12,0],"5":[12,0],"6":[12,0],"7":[0,12],"8":[2,10],"9":[12,2],"10":[12,0]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/organisms/Layout.stories.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/organisms/Layout.stories.js","statementMap":{"0":{"start":{"line":25,"column":13},"end":{"line":25,"column":21}},"1":{"start":{"line":26,"column":13},"end":{"line":26,"column":23}},"2":{"start":{"line":4,"column":0},"end":{"line":4,"column":15}},"3":{"start":{"line":1,"column":18},"end":{"line":1,"column":null}},"4":{"start":{"line":2,"column":23},"end":{"line":2,"column":null}},"5":{"start":{"line":4,"column":15},"end":{"line":7,"column":2}},"6":{"start":{"line":9,"column":19},"end":{"line":21,"column":null}},"7":{"start":{"line":25,"column":24},"end":{"line":25,"column":null}},"8":{"start":{"line":26,"column":26},"end":{"line":26,"column":null}},"9":{"start":{"line":28,"column":0},"end":{"line":31,"column":null}},"10":{"start":{"line":33,"column":0},"end":{"line":38,"column":null}}},"fnMap":{"0":{"name":"(anonymous_5)","decl":{"start":{"line":9,"column":19},"end":{"line":9,"column":null}},"loc":{"start":{"line":9,"column":19},"end":{"line":21,"column":null}}}},"branchMap":{},"s":{"0":6,"1":4,"2":0,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1},"f":{"0":7},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/organisms/PhaseBanner.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/organisms/PhaseBanner.js","statementMap":{"0":{"start":{"line":12,"column":13},"end":{"line":12,"column":24}},"1":{"start":{"line":135,"column":0},"end":{"line":135,"column":15}},"2":{"start":{"line":1,"column":18},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":22},"end":{"line":2,"column":null}},"4":{"start":{"line":3,"column":31},"end":{"line":3,"column":null}},"5":{"start":{"line":5,"column":31},"end":{"line":5,"column":null}},"6":{"start":{"line":6,"column":29},"end":{"line":6,"column":null}},"7":{"start":{"line":12,"column":27},"end":{"line":110,"column":null}},"8":{"start":{"line":20,"column":42},"end":{"line":20,"column":null}},"9":{"start":{"line":21,"column":16},"end":{"line":21,"column":null}},"10":{"start":{"line":22,"column":17},"end":{"line":22,"column":null}},"11":{"start":{"line":24,"column":2},"end":{"line":32,"column":null}},"12":{"start":{"line":25,"column":4},"end":{"line":29,"column":null}},"13":{"start":{"line":26,"column":6},"end":{"line":26,"column":null}},"14":{"start":{"line":28,"column":6},"end":{"line":28,"column":null}},"15":{"start":{"line":31,"column":4},"end":{"line":31,"column":null}},"16":{"start":{"line":112,"column":0},"end":{"line":133,"column":null}},"17":{"start":{"line":135,"column":15},"end":{"line":135,"column":27}}},"fnMap":{"0":{"name":"(anonymous_7)","decl":{"start":{"line":12,"column":27},"end":{"line":12,"column":28}},"loc":{"start":{"line":19,"column":1},"end":{"line":110,"column":null}}},"1":{"name":"(anonymous_8)","decl":{"start":{"line":24,"column":15},"end":{"line":24,"column":22}},"loc":{"start":{"line":24,"column":22},"end":{"line":32,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":25,"column":4},"end":{"line":29,"column":null}},"type":"if","locations":[{"start":{"line":25,"column":4},"end":{"line":29,"column":null}},{"start":{"line":27,"column":11},"end":{"line":29,"column":null}}]},"1":{"loc":{"start":{"line":40,"column":14},"end":{"line":40,"column":null}},"type":"cond-expr","locations":[{"start":{"line":40,"column":31},"end":{"line":40,"column":40}},{"start":{"line":40,"column":40},"end":{"line":40,"column":null}}]},"2":{"loc":{"start":{"line":49,"column":13},"end":{"line":59,"column":null}},"type":"cond-expr","locations":[{"start":{"line":50,"column":14},"end":{"line":59,"column":null}},{"start":{"line":59,"column":14},"end":{"line":59,"column":null}}]},"3":{"loc":{"start":{"line":68,"column":9},"end":{"line":98,"column":null}},"type":"cond-expr","locations":[{"start":{"line":69,"column":10},"end":{"line":98,"column":null}},{"start":{"line":98,"column":10},"end":{"line":98,"column":null}}]}},"s":{"0":0,"1":4,"2":9,"3":9,"4":9,"5":9,"6":9,"7":9,"8":3,"9":3,"10":3,"11":3,"12":1,"13":0,"14":1,"15":1,"16":9,"17":9},"f":{"0":3,"1":1},"b":{"0":[0,1],"1":[2,1],"2":[2,1],"3":[2,1]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/organisms/PhaseBanner.stories.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/organisms/PhaseBanner.stories.js","statementMap":{"0":{"start":{"line":11,"column":13},"end":{"line":11,"column":20}},"1":{"start":{"line":12,"column":13},"end":{"line":12,"column":25}},"2":{"start":{"line":4,"column":0},"end":{"line":4,"column":15}},"3":{"start":{"line":1,"column":18},"end":{"line":1,"column":null}},"4":{"start":{"line":2,"column":24},"end":{"line":2,"column":null}},"5":{"start":{"line":4,"column":15},"end":{"line":7,"column":2}},"6":{"start":{"line":11,"column":23},"end":{"line":11,"column":null}},"7":{"start":{"line":12,"column":28},"end":{"line":12,"column":null}},"8":{"start":{"line":14,"column":0},"end":{"line":17,"column":null}},"9":{"start":{"line":19,"column":0},"end":{"line":23,"column":null}}},"fnMap":{},"branchMap":{},"s":{"0":2,"1":2,"2":0,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1},"f":{},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/organisms/ReportAProblem.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/organisms/ReportAProblem.js","statementMap":{"0":{"start":{"line":14,"column":16},"end":{"line":14,"column":31}},"1":{"start":{"line":1,"column":22},"end":{"line":1,"column":null}},"2":{"start":{"line":2,"column":17},"end":{"line":2,"column":null}},"3":{"start":{"line":3,"column":25},"end":{"line":3,"column":null}},"4":{"start":{"line":4,"column":31},"end":{"line":4,"column":null}},"5":{"start":{"line":5,"column":34},"end":{"line":5,"column":null}},"6":{"start":{"line":6,"column":24},"end":{"line":6,"column":null}},"7":{"start":{"line":7,"column":29},"end":{"line":7,"column":null}},"8":{"start":{"line":8,"column":30},"end":{"line":8,"column":null}},"9":{"start":{"line":9,"column":27},"end":{"line":9,"column":null}},"10":{"start":{"line":15,"column":36},"end":{"line":15,"column":null}},"11":{"start":{"line":16,"column":22},"end":{"line":16,"column":null}},"12":{"start":{"line":18,"column":44},"end":{"line":18,"column":null}},"13":{"start":{"line":20,"column":24},"end":{"line":96,"column":null}},"14":{"start":{"line":22,"column":27},"end":{"line":22,"column":null}},"15":{"start":{"line":25,"column":24},"end":{"line":25,"column":null}},"16":{"start":{"line":26,"column":4},"end":{"line":32,"column":null}},"17":{"start":{"line":26,"column":21},"end":{"line":26,"column":24}},"18":{"start":{"line":27,"column":6},"end":{"line":31,"column":null}},"19":{"start":{"line":28,"column":8},"end":{"line":30,"column":null}},"20":{"start":{"line":29,"column":10},"end":{"line":29,"column":null}},"21":{"start":{"line":35,"column":4},"end":{"line":35,"column":null}},"22":{"start":{"line":37,"column":21},"end":{"line":37,"column":null}},"23":{"start":{"line":40,"column":4},"end":{"line":43,"column":null}},"24":{"start":{"line":41,"column":28},"end":{"line":41,"column":null}},"25":{"start":{"line":42,"column":6},"end":{"line":42,"column":null}},"26":{"start":{"line":46,"column":23},"end":{"line":46,"column":null}},"27":{"start":{"line":47,"column":20},"end":{"line":47,"column":null}},"28":{"start":{"line":51,"column":4},"end":{"line":71,"column":null}},"29":{"start":{"line":52,"column":6},"end":{"line":60,"column":null}},"30":{"start":{"line":62,"column":6},"end":{"line":70,"column":null}},"31":{"start":{"line":73,"column":4},"end":{"line":75,"column":null}},"32":{"start":{"line":74,"column":6},"end":{"line":74,"column":null}},"33":{"start":{"line":78,"column":4},"end":{"line":89,"column":null}},"34":{"start":{"line":88,"column":6},"end":{"line":88,"column":null}},"35":{"start":{"line":91,"column":4},"end":{"line":93,"column":null}},"36":{"start":{"line":92,"column":6},"end":{"line":92,"column":null}},"37":{"start":{"line":95,"column":4},"end":{"line":95,"column":null}},"38":{"start":{"line":373,"column":0},"end":{"line":378,"column":null}}},"fnMap":{"0":{"name":"ReportAProblem","decl":{"start":{"line":14,"column":16},"end":{"line":14,"column":31}},"loc":{"start":{"line":14,"column":36},"end":{"line":371,"column":null}}},"1":{"name":"(anonymous_3)","decl":{"start":{"line":20,"column":24},"end":{"line":20,"column":25}},"loc":{"start":{"line":20,"column":25},"end":{"line":96,"column":null}}},"2":{"name":"(anonymous_4)","decl":{"start":{"line":84,"column":13},"end":{"line":84,"column":14}},"loc":{"start":{"line":84,"column":14},"end":{"line":89,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":27,"column":6},"end":{"line":31,"column":null}},"type":"if","locations":[{"start":{"line":27,"column":6},"end":{"line":31,"column":null}}]},"1":{"loc":{"start":{"line":28,"column":8},"end":{"line":30,"column":null}},"type":"if","locations":[{"start":{"line":28,"column":8},"end":{"line":30,"column":null}}]},"2":{"loc":{"start":{"line":51,"column":4},"end":{"line":71,"column":null}},"type":"if","locations":[{"start":{"line":51,"column":4},"end":{"line":71,"column":null}},{"start":{"line":61,"column":11},"end":{"line":71,"column":null}}]},"3":{"loc":{"start":{"line":91,"column":4},"end":{"line":93,"column":null}},"type":"if","locations":[{"start":{"line":91,"column":4},"end":{"line":93,"column":null}}]},"4":{"loc":{"start":{"line":105,"column":9},"end":{"line":121,"column":null}},"type":"cond-expr","locations":[{"start":{"line":106,"column":10},"end":{"line":121,"column":null}},{"start":{"line":121,"column":10},"end":{"line":121,"column":null}}]},"5":{"loc":{"start":{"line":125,"column":8},"end":{"line":125,"column":null}},"type":"cond-expr","locations":[{"start":{"line":125,"column":8},"end":{"line":125,"column":null}}]},"6":{"loc":{"start":{"line":350,"column":15},"end":{"line":354,"column":null}},"type":"cond-expr","locations":[{"start":{"line":351,"column":16},"end":{"line":354,"column":null}},{"start":{"line":354,"column":18},"end":{"line":354,"column":null}}]}},"s":{"0":7,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":9,"11":8,"12":8,"13":8,"14":3,"15":3,"16":3,"17":3,"18":24,"19":21,"20":1,"21":3,"22":3,"23":3,"24":5,"25":5,"26":3,"27":3,"28":3,"29":0,"30":3,"31":3,"32":21,"33":3,"34":0,"35":3,"36":1,"37":3,"38":1},"f":{"0":9,"1":3,"2":0},"b":{"0":[21],"1":[1],"2":[0,3],"3":[1],"4":[1,7],"5":[1],"6":[2,5]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/organisms/ReportAProblem.stories.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/organisms/ReportAProblem.stories.js","statementMap":{"0":{"start":{"line":11,"column":13},"end":{"line":11,"column":20}},"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":15}},"2":{"start":{"line":1,"column":18},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":31},"end":{"line":2,"column":null}},"4":{"start":{"line":4,"column":15},"end":{"line":7,"column":2}},"5":{"start":{"line":11,"column":23},"end":{"line":11,"column":null}}},"fnMap":{},"branchMap":{},"s":{"0":10,"1":0,"2":1,"3":1,"4":1,"5":1},"f":{},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/text_node_renderer/TextRecur.jsx": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/text_node_renderer/TextRecur.jsx","statementMap":{"0":{"start":{"line":26,"column":24},"end":{"line":26,"column":34}},"1":{"start":{"line":1,"column":27},"end":{"line":1,"column":null}},"2":{"start":{"line":3,"column":19},"end":{"line":3,"column":null}},"3":{"start":{"line":4,"column":22},"end":{"line":4,"column":null}},"4":{"start":{"line":5,"column":21},"end":{"line":5,"column":null}},"5":{"start":{"line":6,"column":24},"end":{"line":6,"column":null}},"6":{"start":{"line":7,"column":22},"end":{"line":7,"column":null}},"7":{"start":{"line":8,"column":17},"end":{"line":8,"column":null}},"8":{"start":{"line":9,"column":17},"end":{"line":9,"column":null}},"9":{"start":{"line":10,"column":26},"end":{"line":10,"column":null}},"10":{"start":{"line":11,"column":17},"end":{"line":11,"column":null}},"11":{"start":{"line":14,"column":14},"end":{"line":24,"column":null}},"12":{"start":{"line":27,"column":15},"end":{"line":27,"column":42}},"13":{"start":{"line":28,"column":16},"end":{"line":28,"column":null}},"14":{"start":{"line":30,"column":2},"end":{"line":37,"column":null}},"15":{"start":{"line":36,"column":4},"end":{"line":36,"column":null}},"16":{"start":{"line":44,"column":12},"end":{"line":44,"column":36}}},"fnMap":{"0":{"name":"TextRecur","decl":{"start":{"line":26,"column":24},"end":{"line":26,"column":34}},"loc":{"start":{"line":26,"column":39},"end":{"line":52,"column":null}}},"1":{"name":"(anonymous_3)","decl":{"start":{"line":43,"column":23},"end":{"line":43,"column":24}},"loc":{"start":{"line":44,"column":12},"end":{"line":44,"column":36}}}},"branchMap":{"0":{"loc":{"start":{"line":30,"column":2},"end":{"line":37,"column":null}},"type":"if","locations":[{"start":{"line":30,"column":2},"end":{"line":37,"column":null}}]},"1":{"loc":{"start":{"line":31,"column":4},"end":{"line":34,"column":null}},"type":"binary-expr","locations":[{"start":{"line":31,"column":4},"end":{"line":31,"column":null}},{"start":{"line":32,"column":5},"end":{"line":32,"column":20}},{"start":{"line":33,"column":6},"end":{"line":33,"column":null}},{"start":{"line":34,"column":6},"end":{"line":34,"column":null}}]},"2":{"loc":{"start":{"line":41,"column":7},"end":{"line":48,"column":27}},"type":"cond-expr","locations":[{"start":{"line":42,"column":8},"end":{"line":42,"column":27}},{"start":{"line":48,"column":8},"end":{"line":48,"column":27}}]},"3":{"loc":{"start":{"line":41,"column":7},"end":{"line":41,"column":32}},"type":"binary-expr","locations":[{"start":{"line":41,"column":7},"end":{"line":41,"column":18}},{"start":{"line":41,"column":18},"end":{"line":41,"column":32}}]}},"s":{"0":99,"1":11,"2":11,"3":11,"4":11,"5":11,"6":11,"7":11,"8":11,"9":11,"10":11,"11":11,"12":500,"13":499,"14":499,"15":1,"16":400},"f":{"0":500,"1":400},"b":{"0":[1],"1":[499,499,51,11],"2":[257,241],"3":[498,279]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/text_node_renderer/TextRender.jsx": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/text_node_renderer/TextRender.jsx","statementMap":{"0":{"start":{"line":4,"column":24},"end":{"line":4,"column":35}},"1":{"start":{"line":1,"column":22},"end":{"line":1,"column":null}},"2":{"start":{"line":2,"column":27},"end":{"line":2,"column":null}},"3":{"start":{"line":8,"column":8},"end":{"line":10,"column":null}}},"fnMap":{"0":{"name":"TextRender","decl":{"start":{"line":4,"column":24},"end":{"line":4,"column":35}},"loc":{"start":{"line":4,"column":40},"end":{"line":19,"column":null}}},"1":{"name":"(anonymous_3)","decl":{"start":{"line":7,"column":22},"end":{"line":7,"column":23}},"loc":{"start":{"line":7,"column":29},"end":{"line":16,"column":null}}}},"branchMap":{},"s":{"0":33,"1":11,"2":11,"3":99},"f":{"0":35,"1":99},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/text_node_renderer/nodes/Header.jsx": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/text_node_renderer/nodes/Header.jsx","statementMap":{"0":{"start":{"line":1,"column":24},"end":{"line":1,"column":31}},"1":{"start":{"line":2,"column":2},"end":{"line":19,"column":null}}},"fnMap":{"0":{"name":"Header","decl":{"start":{"line":1,"column":24},"end":{"line":1,"column":31}},"loc":{"start":{"line":1,"column":36},"end":{"line":20,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":23},"end":{"line":5,"column":57}},"type":"cond-expr","locations":[{"start":{"line":5,"column":43},"end":{"line":5,"column":52}},{"start":{"line":5,"column":52},"end":{"line":5,"column":57}}]},"1":{"loc":{"start":{"line":9,"column":23},"end":{"line":9,"column":57}},"type":"cond-expr","locations":[{"start":{"line":9,"column":43},"end":{"line":9,"column":52}},{"start":{"line":9,"column":52},"end":{"line":9,"column":57}}]}},"s":{"0":11,"1":18},"f":{"0":18},"b":{"0":[0,0],"1":[4,5]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/text_node_renderer/nodes/LineBreak.jsx": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/text_node_renderer/nodes/LineBreak.jsx","statementMap":{"0":{"start":{"line":1,"column":24},"end":{"line":1,"column":null}},"1":{"start":{"line":2,"column":2},"end":{"line":2,"column":null}}},"fnMap":{"0":{"name":"LineBreak","decl":{"start":{"line":1,"column":24},"end":{"line":1,"column":null}},"loc":{"start":{"line":1,"column":24},"end":{"line":3,"column":null}}}},"branchMap":{},"s":{"0":11,"1":22},"f":{"0":22},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/text_node_renderer/nodes/Link.jsx": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/text_node_renderer/nodes/Link.jsx","statementMap":{"0":{"start":{"line":1,"column":24},"end":{"line":1,"column":29}}},"fnMap":{"0":{"name":"Link","decl":{"start":{"line":1,"column":24},"end":{"line":1,"column":29}},"loc":{"start":{"line":1,"column":34},"end":{"line":10,"column":null}}}},"branchMap":{},"s":{"0":11},"f":{"0":3},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/text_node_renderer/nodes/ListItem.jsx": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/text_node_renderer/nodes/ListItem.jsx","statementMap":{"0":{"start":{"line":1,"column":24},"end":{"line":1,"column":33}}},"fnMap":{"0":{"name":"ListItem","decl":{"start":{"line":1,"column":24},"end":{"line":1,"column":33}},"loc":{"start":{"line":1,"column":38},"end":{"line":3,"column":null}}}},"branchMap":{},"s":{"0":11},"f":{"0":135},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/text_node_renderer/nodes/OrderedList.jsx": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/text_node_renderer/nodes/OrderedList.jsx","statementMap":{"0":{"start":{"line":1,"column":24},"end":{"line":1,"column":38}}},"fnMap":{"0":{"name":"UnorderedList","decl":{"start":{"line":1,"column":24},"end":{"line":1,"column":38}},"loc":{"start":{"line":1,"column":43},"end":{"line":3,"column":null}}}},"branchMap":{},"s":{"0":11},"f":{"0":2},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/text_node_renderer/nodes/Paragraph.jsx": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/text_node_renderer/nodes/Paragraph.jsx","statementMap":{"0":{"start":{"line":1,"column":24},"end":{"line":1,"column":34}}},"fnMap":{"0":{"name":"Paragraph","decl":{"start":{"line":1,"column":24},"end":{"line":1,"column":34}},"loc":{"start":{"line":1,"column":39},"end":{"line":3,"column":null}}}},"branchMap":{},"s":{"0":11},"f":{"0":59},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/text_node_renderer/nodes/Span.jsx": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/text_node_renderer/nodes/Span.jsx","statementMap":{"0":{"start":{"line":1,"column":24},"end":{"line":1,"column":29}}},"fnMap":{"0":{"name":"Span","decl":{"start":{"line":1,"column":24},"end":{"line":1,"column":29}},"loc":{"start":{"line":1,"column":34},"end":{"line":3,"column":null}}}},"branchMap":{},"s":{"0":11},"f":{"0":0},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/text_node_renderer/nodes/Text.jsx": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/text_node_renderer/nodes/Text.jsx","statementMap":{"0":{"start":{"line":1,"column":24},"end":{"line":1,"column":29}},"1":{"start":{"line":3,"column":2},"end":{"line":10,"column":null}}},"fnMap":{"0":{"name":"Text","decl":{"start":{"line":1,"column":24},"end":{"line":1,"column":29}},"loc":{"start":{"line":1,"column":34},"end":{"line":11,"column":null}}}},"branchMap":{},"s":{"0":11,"1":216},"f":{"0":216},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/text_node_renderer/nodes/UnorderedList.jsx": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/components/text_node_renderer/nodes/UnorderedList.jsx","statementMap":{"0":{"start":{"line":1,"column":24},"end":{"line":1,"column":38}}},"fnMap":{"0":{"name":"UnorderedList","decl":{"start":{"line":1,"column":24},"end":{"line":1,"column":38}},"loc":{"start":{"line":1,"column":43},"end":{"line":3,"column":null}}}},"branchMap":{},"s":{"0":11},"f":{"0":44},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/lib/notify/postFeedbackToGcNotify.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/lib/notify/postFeedbackToGcNotify.js","statementMap":{"0":{"start":{"line":1,"column":22},"end":{"line":1,"column":45}},"1":{"start":{"line":2,"column":2},"end":{"line":17,"column":null}}},"fnMap":{"0":{"name":"postFeedbackToGcNotify","decl":{"start":{"line":1,"column":22},"end":{"line":1,"column":45}},"loc":{"start":{"line":1,"column":49},"end":{"line":19,"column":null}}}},"branchMap":{},"s":{"0":1,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/lib/notify/submitEmail.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/lib/notify/submitEmail.js","statementMap":{"0":{"start":{"line":3,"column":13},"end":{"line":3,"column":24}},"1":{"start":{"line":32,"column":13},"end":{"line":32,"column":38}},"2":{"start":{"line":1,"column":7},"end":{"line":1,"column":null}},"3":{"start":{"line":3,"column":27},"end":{"line":30,"column":null}},"4":{"start":{"line":11,"column":25},"end":{"line":27,"column":null}},"5":{"start":{"line":29,"column":2},"end":{"line":29,"column":null}},"6":{"start":{"line":32,"column":41},"end":{"line":65,"column":null}},"7":{"start":{"line":42,"column":25},"end":{"line":63,"column":null}},"8":{"start":{"line":64,"column":2},"end":{"line":64,"column":null}}},"fnMap":{"0":{"name":"(anonymous_3)","decl":{"start":{"line":3,"column":27},"end":{"line":3,"column":null}},"loc":{"start":{"line":9,"column":2},"end":{"line":30,"column":null}}},"1":{"name":"(anonymous_4)","decl":{"start":{"line":32,"column":41},"end":{"line":32,"column":null}},"loc":{"start":{"line":40,"column":2},"end":{"line":65,"column":null}}}},"branchMap":{},"s":{"0":2,"1":1,"2":2,"3":2,"4":1,"5":1,"6":2,"7":0,"8":0},"f":{"0":1,"1":0},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/lib/utils/createBreadcrumbs.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/lib/utils/createBreadcrumbs.js","statementMap":{"0":{"start":{"line":1,"column":13},"end":{"line":1,"column":33}},"1":{"start":{"line":1,"column":33},"end":{"line":12,"column":null}},"2":{"start":{"line":2,"column":2},"end":{"line":11,"column":null}},"3":{"start":{"line":3,"column":4},"end":{"line":10,"column":null}}},"fnMap":{"0":{"name":"(anonymous_1)","decl":{"start":{"line":1,"column":33},"end":{"line":1,"column":34}},"loc":{"start":{"line":1,"column":51},"end":{"line":12,"column":null}}},"1":{"name":"(anonymous_2)","decl":{"start":{"line":2,"column":29},"end":{"line":2,"column":30}},"loc":{"start":{"line":2,"column":30},"end":{"line":11,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":8},"end":{"line":5,"column":77}},"type":"cond-expr","locations":[{"start":{"line":5,"column":26},"end":{"line":5,"column":50}},{"start":{"line":5,"column":53},"end":{"line":5,"column":77}}]},"1":{"loc":{"start":{"line":7,"column":8},"end":{"line":9,"column":39}},"type":"cond-expr","locations":[{"start":{"line":8,"column":12},"end":{"line":8,"column":39}},{"start":{"line":9,"column":12},"end":{"line":9,"column":39}}]}},"s":{"0":6,"1":6,"2":6,"3":6},"f":{"0":6,"1":6},"b":{"0":[0,6],"1":[0,6]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/lib/utils/generateCollapseElements.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/lib/utils/generateCollapseElements.js","statementMap":{"0":{"start":{"line":1,"column":13},"end":{"line":1,"column":40}},"1":{"start":{"line":1,"column":40},"end":{"line":43,"column":null}},"2":{"start":{"line":2,"column":19},"end":{"line":2,"column":21}},"3":{"start":{"line":4,"column":2},"end":{"line":40,"column":null}},"4":{"start":{"line":5,"column":4},"end":{"line":39,"column":null}},"5":{"start":{"line":6,"column":6},"end":{"line":7,"column":34}},"6":{"start":{"line":9,"column":11},"end":{"line":39,"column":null}},"7":{"start":{"line":10,"column":24},"end":{"line":11,"column":24}},"8":{"start":{"line":11,"column":8},"end":{"line":11,"column":24}},"9":{"start":{"line":15,"column":6},"end":{"line":16,"column":34}},"10":{"start":{"line":20,"column":11},"end":{"line":39,"column":null}},"11":{"start":{"line":21,"column":24},"end":{"line":22,"column":24}},"12":{"start":{"line":22,"column":8},"end":{"line":22,"column":24}},"13":{"start":{"line":26,"column":6},"end":{"line":27,"column":34}},"14":{"start":{"line":31,"column":11},"end":{"line":39,"column":null}},"15":{"start":{"line":32,"column":6},"end":{"line":33,"column":34}},"16":{"start":{"line":37,"column":11},"end":{"line":39,"column":null}},"17":{"start":{"line":38,"column":6},"end":{"line":38,"column":null}},"18":{"start":{"line":42,"column":2},"end":{"line":42,"column":null}}},"fnMap":{"0":{"name":"(anonymous_1)","decl":{"start":{"line":1,"column":40},"end":{"line":1,"column":41}},"loc":{"start":{"line":1,"column":41},"end":{"line":43,"column":null}}},"1":{"name":"(anonymous_2)","decl":{"start":{"line":10,"column":41},"end":{"line":10,"column":42}},"loc":{"start":{"line":11,"column":8},"end":{"line":11,"column":24}}},"2":{"name":"(anonymous_3)","decl":{"start":{"line":21,"column":41},"end":{"line":21,"column":42}},"loc":{"start":{"line":22,"column":8},"end":{"line":22,"column":24}}}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":4},"end":{"line":39,"column":null}},"type":"if","locations":[{"start":{"line":5,"column":4},"end":{"line":39,"column":null}},{"start":{"line":9,"column":11},"end":{"line":39,"column":null}}]},"1":{"loc":{"start":{"line":9,"column":11},"end":{"line":39,"column":null}},"type":"if","locations":[{"start":{"line":9,"column":11},"end":{"line":39,"column":null}},{"start":{"line":20,"column":11},"end":{"line":39,"column":null}}]},"2":{"loc":{"start":{"line":20,"column":11},"end":{"line":39,"column":null}},"type":"if","locations":[{"start":{"line":20,"column":11},"end":{"line":39,"column":null}},{"start":{"line":31,"column":11},"end":{"line":39,"column":null}}]},"3":{"loc":{"start":{"line":31,"column":11},"end":{"line":39,"column":null}},"type":"if","locations":[{"start":{"line":31,"column":11},"end":{"line":39,"column":null}},{"start":{"line":37,"column":11},"end":{"line":39,"column":null}}]},"4":{"loc":{"start":{"line":37,"column":11},"end":{"line":39,"column":null}},"type":"if","locations":[{"start":{"line":37,"column":11},"end":{"line":39,"column":null}}]}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/lib/utils/getAllUpdateIds.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/lib/utils/getAllUpdateIds.js","statementMap":{"0":{"start":{"line":1,"column":16},"end":{"line":1,"column":32}},"1":{"start":{"line":2,"column":2},"end":{"line":15,"column":null}},"2":{"start":{"line":2,"column":33},"end":{"line":15,"column":null}}},"fnMap":{"0":{"name":"getAllUpdateIds","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":32}},"loc":{"start":{"line":1,"column":37},"end":{"line":16,"column":null}}},"1":{"name":"(anonymous_2)","decl":{"start":{"line":2,"column":23},"end":{"line":2,"column":24}},"loc":{"start":{"line":2,"column":33},"end":{"line":15,"column":null}}}},"branchMap":{},"s":{"0":0,"1":0,"2":0},"f":{"0":0,"1":0},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/lib/utils/maskEmail.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/lib/utils/maskEmail.js","statementMap":{"0":{"start":{"line":2,"column":16},"end":{"line":2,"column":26}},"1":{"start":{"line":3,"column":20},"end":{"line":3,"column":null}},"2":{"start":{"line":4,"column":10},"end":{"line":4,"column":null}},"3":{"start":{"line":6,"column":2},"end":{"line":16,"column":null}},"4":{"start":{"line":6,"column":15},"end":{"line":6,"column":18}},"5":{"start":{"line":7,"column":4},"end":{"line":15,"column":null}},"6":{"start":{"line":8,"column":6},"end":{"line":8,"column":null}},"7":{"start":{"line":9,"column":11},"end":{"line":15,"column":null}},"8":{"start":{"line":10,"column":6},"end":{"line":10,"column":null}},"9":{"start":{"line":11,"column":6},"end":{"line":11,"column":null}},"10":{"start":{"line":13,"column":6},"end":{"line":13,"column":null}},"11":{"start":{"line":14,"column":6},"end":{"line":14,"column":null}},"12":{"start":{"line":18,"column":2},"end":{"line":18,"column":null}}},"fnMap":{"0":{"name":"maskEmail","decl":{"start":{"line":2,"column":16},"end":{"line":2,"column":26}},"loc":{"start":{"line":2,"column":31},"end":{"line":19,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":4},"end":{"line":15,"column":null}},"type":"if","locations":[{"start":{"line":7,"column":4},"end":{"line":15,"column":null}},{"start":{"line":9,"column":11},"end":{"line":15,"column":null}}]},"1":{"loc":{"start":{"line":9,"column":11},"end":{"line":15,"column":null}},"type":"if","locations":[{"start":{"line":9,"column":11},"end":{"line":15,"column":null}},{"start":{"line":12,"column":11},"end":{"line":15,"column":null}}]},"2":{"loc":{"start":{"line":9,"column":15},"end":{"line":9,"column":63}},"type":"binary-expr","locations":[{"start":{"line":9,"column":15},"end":{"line":9,"column":35}},{"start":{"line":9,"column":35},"end":{"line":9,"column":55}},{"start":{"line":9,"column":55},"end":{"line":9,"column":63}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":14,"6":1,"7":13,"8":10,"9":10,"10":3,"11":3,"12":1},"f":{"0":1},"b":{"0":[1,13],"1":[10,3],"2":[13,12,11]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/lib/utils/sortUpdatesByDate.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/lib/utils/sortUpdatesByDate.js","statementMap":{"0":{"start":{"line":1,"column":13},"end":{"line":1,"column":33}},"1":{"start":{"line":1,"column":33},"end":{"line":5,"column":null}},"2":{"start":{"line":2,"column":2},"end":{"line":4,"column":null}},"3":{"start":{"line":3,"column":4},"end":{"line":3,"column":null}}},"fnMap":{"0":{"name":"(anonymous_1)","decl":{"start":{"line":1,"column":33},"end":{"line":1,"column":34}},"loc":{"start":{"line":1,"column":34},"end":{"line":5,"column":null}}},"1":{"name":"(anonymous_2)","decl":{"start":{"line":2,"column":25},"end":{"line":2,"column":26}},"loc":{"start":{"line":2,"column":29},"end":{"line":4,"column":null}}}},"branchMap":{},"s":{"0":6,"1":6,"2":6,"3":3},"f":{"0":6,"1":3},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/lib/utils/stripFeedback.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/lib/utils/stripFeedback.js","statementMap":{"0":{"start":{"line":1,"column":16},"end":{"line":1,"column":30}},"1":{"start":{"line":3,"column":2},"end":{"line":5,"column":null}},"2":{"start":{"line":9,"column":2},"end":{"line":11,"column":null}},"3":{"start":{"line":15,"column":2},"end":{"line":17,"column":null}},"4":{"start":{"line":21,"column":2},"end":{"line":23,"column":null}},"5":{"start":{"line":25,"column":2},"end":{"line":27,"column":null}},"6":{"start":{"line":30,"column":2},"end":{"line":30,"column":null}}},"fnMap":{"0":{"name":"stripFeedback","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":30}},"loc":{"start":{"line":1,"column":45},"end":{"line":31,"column":null}}}},"branchMap":{},"s":{"0":7,"1":7,"2":7,"3":7,"4":7,"5":7,"6":7},"f":{"0":7},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/middlewares/initMiddleware.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/middlewares/initMiddleware.js","statementMap":{"0":{"start":{"line":3,"column":24},"end":{"line":3,"column":39}},"1":{"start":{"line":4,"column":2},"end":{"line":12,"column":null}},"2":{"start":{"line":5,"column":4},"end":{"line":12,"column":null}},"3":{"start":{"line":6,"column":6},"end":{"line":11,"column":null}},"4":{"start":{"line":7,"column":8},"end":{"line":9,"column":null}},"5":{"start":{"line":8,"column":10},"end":{"line":8,"column":null}},"6":{"start":{"line":10,"column":8},"end":{"line":10,"column":null}}},"fnMap":{"0":{"name":"initMiddleware","decl":{"start":{"line":3,"column":24},"end":{"line":3,"column":39}},"loc":{"start":{"line":3,"column":49},"end":{"line":13,"column":null}}},"1":{"name":"(anonymous_2)","decl":{"start":{"line":4,"column":9},"end":{"line":4,"column":10}},"loc":{"start":{"line":5,"column":4},"end":{"line":12,"column":null}}},"2":{"name":"(anonymous_3)","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":17}},"loc":{"start":{"line":5,"column":26},"end":{"line":12,"column":null}}},"3":{"name":"(anonymous_4)","decl":{"start":{"line":6,"column":27},"end":{"line":6,"column":28}},"loc":{"start":{"line":6,"column":28},"end":{"line":11,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":8},"end":{"line":9,"column":null}},"type":"if","locations":[{"start":{"line":7,"column":8},"end":{"line":9,"column":null}}]}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/middlewares/joi.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/middlewares/joi.js","statementMap":{"0":{"start":{"line":11,"column":24},"end":{"line":11,"column":33}},"1":{"start":{"line":1,"column":42},"end":{"line":1,"column":null}},"2":{"start":{"line":2,"column":31},"end":{"line":2,"column":null}},"3":{"start":{"line":12,"column":2},"end":{"line":24,"column":null}},"4":{"start":{"line":13,"column":22},"end":{"line":13,"column":null}},"5":{"start":{"line":14,"column":18},"end":{"line":14,"column":null}},"6":{"start":{"line":15,"column":4},"end":{"line":23,"column":null}},"7":{"start":{"line":16,"column":6},"end":{"line":16,"column":null}},"8":{"start":{"line":18,"column":26},"end":{"line":18,"column":null}},"9":{"start":{"line":19,"column":22},"end":{"line":21,"column":null}},"10":{"start":{"line":20,"column":8},"end":{"line":20,"column":null}},"11":{"start":{"line":22,"column":6},"end":{"line":22,"column":null}}},"fnMap":{"0":{"name":"validate","decl":{"start":{"line":11,"column":24},"end":{"line":11,"column":33}},"loc":{"start":{"line":11,"column":62},"end":{"line":25,"column":null}}},"1":{"name":"(anonymous_2)","decl":{"start":{"line":12,"column":9},"end":{"line":12,"column":16}},"loc":{"start":{"line":12,"column":21},"end":{"line":24,"column":null}}},"2":{"name":"(anonymous_3)","decl":{"start":{"line":19,"column":34},"end":{"line":19,"column":35}},"loc":{"start":{"line":19,"column":35},"end":{"line":21,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":11,"column":50},"end":{"line":11,"column":62}},"type":"default-arg","locations":[{"start":{"line":11,"column":60},"end":{"line":11,"column":62}}]},"1":{"loc":{"start":{"line":15,"column":4},"end":{"line":23,"column":null}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":23,"column":null}},{"start":{"line":17,"column":11},"end":{"line":23,"column":null}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":0,"8":1,"9":1,"10":2,"11":1},"f":{"0":1,"1":1,"2":2},"b":{"0":[0],"1":[0,1]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/pages/404.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/pages/404.js","statementMap":{"0":{"start":{"line":10,"column":24},"end":{"line":10,"column":33}},"1":{"start":{"line":231,"column":13},"end":{"line":231,"column":27}},"2":{"start":{"line":1,"column":17},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":31},"end":{"line":2,"column":null}},"4":{"start":{"line":3,"column":39},"end":{"line":3,"column":null}},"5":{"start":{"line":4,"column":17},"end":{"line":4,"column":null}},"6":{"start":{"line":5,"column":29},"end":{"line":5,"column":null}},"7":{"start":{"line":6,"column":36},"end":{"line":6,"column":null}},"8":{"start":{"line":7,"column":26},"end":{"line":7,"column":null}},"9":{"start":{"line":8,"column":31},"end":{"line":8,"column":null}},"10":{"start":{"line":11,"column":16},"end":{"line":11,"column":null}},"11":{"start":{"line":12,"column":30},"end":{"line":12,"column":null}},"12":{"start":{"line":13,"column":17},"end":{"line":13,"column":null}},"13":{"start":{"line":14,"column":21},"end":{"line":14,"column":null}},"14":{"start":{"line":16,"column":2},"end":{"line":28,"column":null}},"15":{"start":{"line":17,"column":4},"end":{"line":20,"column":null}},"16":{"start":{"line":18,"column":6},"end":{"line":18,"column":null}},"17":{"start":{"line":19,"column":6},"end":{"line":19,"column":null}},"18":{"start":{"line":23,"column":4},"end":{"line":27,"column":null}},"19":{"start":{"line":24,"column":6},"end":{"line":24,"column":null}},"20":{"start":{"line":26,"column":6},"end":{"line":26,"column":null}},"21":{"start":{"line":31,"column":2},"end":{"line":33,"column":null}},"22":{"start":{"line":32,"column":4},"end":{"line":32,"column":null}},"23":{"start":{"line":231,"column":30},"end":{"line":243,"column":null}},"24":{"start":{"line":232,"column":19},"end":{"line":232,"column":null}},"25":{"start":{"line":234,"column":2},"end":{"line":242,"column":null}}},"fnMap":{"0":{"name":"error404","decl":{"start":{"line":10,"column":24},"end":{"line":10,"column":33}},"loc":{"start":{"line":10,"column":38},"end":{"line":229,"column":1}}},"1":{"name":"(anonymous_5)","decl":{"start":{"line":16,"column":12},"end":{"line":16,"column":null}},"loc":{"start":{"line":16,"column":12},"end":{"line":28,"column":5}}},"2":{"name":"(anonymous_6)","decl":{"start":{"line":231,"column":30},"end":{"line":231,"column":37}},"loc":{"start":{"line":231,"column":47},"end":{"line":243,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":17,"column":4},"end":{"line":20,"column":null}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":20,"column":null}}]},"1":{"loc":{"start":{"line":18,"column":30},"end":{"line":18,"column":57}},"type":"binary-expr","locations":[{"start":{"line":18,"column":30},"end":{"line":18,"column":51}},{"start":{"line":18,"column":55},"end":{"line":18,"column":57}}]},"2":{"loc":{"start":{"line":23,"column":4},"end":{"line":27,"column":null}},"type":"if","locations":[{"start":{"line":23,"column":4},"end":{"line":27,"column":null}},{"start":{"line":25,"column":11},"end":{"line":27,"column":null}}]},"3":{"loc":{"start":{"line":31,"column":2},"end":{"line":33,"column":null}},"type":"if","locations":[{"start":{"line":31,"column":2},"end":{"line":33,"column":null}}]},"4":{"loc":{"start":{"line":52,"column":19},"end":{"line":52,"column":null}},"type":"cond-expr","locations":[{"start":{"line":52,"column":43},"end":{"line":52,"column":51}},{"start":{"line":52,"column":51},"end":{"line":52,"column":null}}]},"5":{"loc":{"start":{"line":67,"column":12},"end":{"line":69,"column":null}},"type":"cond-expr","locations":[{"start":{"line":68,"column":16},"end":{"line":68,"column":null}},{"start":{"line":69,"column":16},"end":{"line":69,"column":null}}]},"6":{"loc":{"start":{"line":117,"column":16},"end":{"line":119,"column":58}},"type":"cond-expr","locations":[{"start":{"line":118,"column":20},"end":{"line":118,"column":58}},{"start":{"line":119,"column":20},"end":{"line":119,"column":58}}]},"7":{"loc":{"start":{"line":122,"column":16},"end":{"line":124,"column":59}},"type":"cond-expr","locations":[{"start":{"line":123,"column":20},"end":{"line":123,"column":59}},{"start":{"line":124,"column":20},"end":{"line":124,"column":59}}]},"8":{"loc":{"start":{"line":161,"column":20},"end":{"line":163,"column":63}},"type":"cond-expr","locations":[{"start":{"line":162,"column":24},"end":{"line":162,"column":63}},{"start":{"line":163,"column":24},"end":{"line":163,"column":63}}]},"9":{"loc":{"start":{"line":213,"column":18},"end":{"line":215,"column":60}},"type":"cond-expr","locations":[{"start":{"line":214,"column":22},"end":{"line":214,"column":60}},{"start":{"line":215,"column":22},"end":{"line":215,"column":60}}]},"10":{"loc":{"start":{"line":218,"column":18},"end":{"line":220,"column":61}},"type":"cond-expr","locations":[{"start":{"line":219,"column":22},"end":{"line":219,"column":61}},{"start":{"line":220,"column":22},"end":{"line":220,"column":61}}]},"11":{"loc":{"start":{"line":237,"column":25},"end":{"line":237,"column":null}},"type":"binary-expr","locations":[{"start":{"line":237,"column":25},"end":{"line":237,"column":56}},{"start":{"line":237,"column":60},"end":{"line":237,"column":null}}]}},"s":{"0":1,"1":0,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":2,"11":2,"12":2,"13":2,"14":2,"15":1,"16":0,"17":0,"18":1,"19":0,"20":1,"21":2,"22":1,"23":1,"24":0,"25":0},"f":{"0":2,"1":1,"2":0},"b":{"0":[0],"1":[0,0],"2":[0,1],"3":[1],"4":[0,1],"5":[0,1],"6":[0,1],"7":[0,1],"8":[0,1],"9":[0,1],"10":[0,1],"11":[0,0]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/pages/500.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/pages/500.js","statementMap":{"0":{"start":{"line":10,"column":24},"end":{"line":10,"column":33}},"1":{"start":{"line":260,"column":13},"end":{"line":260,"column":27}},"2":{"start":{"line":1,"column":17},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":31},"end":{"line":2,"column":null}},"4":{"start":{"line":3,"column":39},"end":{"line":3,"column":null}},"5":{"start":{"line":4,"column":17},"end":{"line":4,"column":null}},"6":{"start":{"line":5,"column":29},"end":{"line":5,"column":null}},"7":{"start":{"line":6,"column":36},"end":{"line":6,"column":null}},"8":{"start":{"line":7,"column":26},"end":{"line":7,"column":null}},"9":{"start":{"line":8,"column":31},"end":{"line":8,"column":null}},"10":{"start":{"line":11,"column":16},"end":{"line":11,"column":null}},"11":{"start":{"line":12,"column":30},"end":{"line":12,"column":null}},"12":{"start":{"line":13,"column":17},"end":{"line":13,"column":null}},"13":{"start":{"line":14,"column":21},"end":{"line":14,"column":null}},"14":{"start":{"line":16,"column":2},"end":{"line":28,"column":null}},"15":{"start":{"line":17,"column":4},"end":{"line":20,"column":null}},"16":{"start":{"line":18,"column":6},"end":{"line":18,"column":null}},"17":{"start":{"line":19,"column":6},"end":{"line":19,"column":null}},"18":{"start":{"line":23,"column":4},"end":{"line":27,"column":null}},"19":{"start":{"line":24,"column":6},"end":{"line":24,"column":null}},"20":{"start":{"line":26,"column":6},"end":{"line":26,"column":null}},"21":{"start":{"line":31,"column":2},"end":{"line":33,"column":null}},"22":{"start":{"line":32,"column":4},"end":{"line":32,"column":null}},"23":{"start":{"line":260,"column":30},"end":{"line":272,"column":null}},"24":{"start":{"line":261,"column":19},"end":{"line":261,"column":null}},"25":{"start":{"line":263,"column":2},"end":{"line":271,"column":null}}},"fnMap":{"0":{"name":"error500","decl":{"start":{"line":10,"column":24},"end":{"line":10,"column":33}},"loc":{"start":{"line":10,"column":38},"end":{"line":258,"column":1}}},"1":{"name":"(anonymous_5)","decl":{"start":{"line":16,"column":12},"end":{"line":16,"column":null}},"loc":{"start":{"line":16,"column":12},"end":{"line":28,"column":5}}},"2":{"name":"(anonymous_6)","decl":{"start":{"line":260,"column":30},"end":{"line":260,"column":37}},"loc":{"start":{"line":260,"column":47},"end":{"line":272,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":17,"column":4},"end":{"line":20,"column":null}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":20,"column":null}}]},"1":{"loc":{"start":{"line":18,"column":30},"end":{"line":18,"column":57}},"type":"binary-expr","locations":[{"start":{"line":18,"column":30},"end":{"line":18,"column":51}},{"start":{"line":18,"column":55},"end":{"line":18,"column":57}}]},"2":{"loc":{"start":{"line":23,"column":4},"end":{"line":27,"column":null}},"type":"if","locations":[{"start":{"line":23,"column":4},"end":{"line":27,"column":null}},{"start":{"line":25,"column":11},"end":{"line":27,"column":null}}]},"3":{"loc":{"start":{"line":31,"column":2},"end":{"line":33,"column":null}},"type":"if","locations":[{"start":{"line":31,"column":2},"end":{"line":33,"column":null}}]},"4":{"loc":{"start":{"line":66,"column":19},"end":{"line":66,"column":null}},"type":"cond-expr","locations":[{"start":{"line":66,"column":43},"end":{"line":66,"column":51}},{"start":{"line":66,"column":51},"end":{"line":66,"column":null}}]},"5":{"loc":{"start":{"line":146,"column":16},"end":{"line":148,"column":58}},"type":"cond-expr","locations":[{"start":{"line":147,"column":20},"end":{"line":147,"column":58}},{"start":{"line":148,"column":20},"end":{"line":148,"column":58}}]},"6":{"loc":{"start":{"line":151,"column":16},"end":{"line":153,"column":59}},"type":"cond-expr","locations":[{"start":{"line":152,"column":20},"end":{"line":152,"column":59}},{"start":{"line":153,"column":20},"end":{"line":153,"column":59}}]},"7":{"loc":{"start":{"line":190,"column":20},"end":{"line":192,"column":63}},"type":"cond-expr","locations":[{"start":{"line":191,"column":24},"end":{"line":191,"column":63}},{"start":{"line":192,"column":24},"end":{"line":192,"column":63}}]},"8":{"loc":{"start":{"line":242,"column":18},"end":{"line":244,"column":60}},"type":"cond-expr","locations":[{"start":{"line":243,"column":22},"end":{"line":243,"column":60}},{"start":{"line":244,"column":22},"end":{"line":244,"column":60}}]},"9":{"loc":{"start":{"line":247,"column":18},"end":{"line":249,"column":61}},"type":"cond-expr","locations":[{"start":{"line":248,"column":22},"end":{"line":248,"column":61}},{"start":{"line":249,"column":22},"end":{"line":249,"column":61}}]},"10":{"loc":{"start":{"line":266,"column":25},"end":{"line":266,"column":null}},"type":"binary-expr","locations":[{"start":{"line":266,"column":25},"end":{"line":266,"column":56}},{"start":{"line":266,"column":60},"end":{"line":266,"column":null}}]}},"s":{"0":1,"1":0,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":2,"11":2,"12":2,"13":2,"14":2,"15":1,"16":0,"17":0,"18":1,"19":0,"20":1,"21":2,"22":1,"23":1,"24":0,"25":0},"f":{"0":2,"1":1,"2":0},"b":{"0":[0],"1":[0,0],"2":[0,1],"3":[1],"4":[0,1],"5":[0,1],"6":[0,1],"7":[0,1],"8":[0,1],"9":[0,1],"10":[0,0]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/pages/_app.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/pages/_app.js","statementMap":{"0":{"start":{"line":33,"column":0},"end":{"line":33,"column":15}},"1":{"start":{"line":1,"column":35},"end":{"line":1,"column":null}},"2":{"start":{"line":2,"column":7},"end":{"line":2,"column":null}},"3":{"start":{"line":3,"column":7},"end":{"line":3,"column":null}},"4":{"start":{"line":4,"column":7},"end":{"line":4,"column":null}},"5":{"start":{"line":5,"column":17},"end":{"line":5,"column":null}},"6":{"start":{"line":6,"column":23},"end":{"line":6,"column":null}},"7":{"start":{"line":7,"column":7},"end":{"line":7,"column":null}},"8":{"start":{"line":8,"column":32},"end":{"line":8,"column":null}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":null}},"10":{"start":{"line":12,"column":17},"end":{"line":16,"column":null}},"11":{"start":{"line":17,"column":13},"end":{"line":21,"column":null}},"12":{"start":{"line":33,"column":15},"end":{"line":33,"column":null}}},"fnMap":{"0":{"name":"MyApp","decl":{"start":{"line":23,"column":9},"end":{"line":23,"column":15}},"loc":{"start":{"line":23,"column":39},"end":{"line":31,"column":null}}}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"f":{"0":0},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/pages/cdcp-apply.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/pages/cdcp-apply.js","statementMap":{"0":{"start":{"line":9,"column":24},"end":{"line":9,"column":36}},"1":{"start":{"line":135,"column":13},"end":{"line":135,"column":27}},"2":{"start":{"line":1,"column":17},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":31},"end":{"line":2,"column":null}},"4":{"start":{"line":3,"column":39},"end":{"line":3,"column":null}},"5":{"start":{"line":4,"column":23},"end":{"line":4,"column":null}},"6":{"start":{"line":5,"column":29},"end":{"line":5,"column":null}},"7":{"start":{"line":6,"column":34},"end":{"line":6,"column":null}},"8":{"start":{"line":7,"column":26},"end":{"line":7,"column":null}},"9":{"start":{"line":10,"column":16},"end":{"line":10,"column":null}},"10":{"start":{"line":12,"column":22},"end":{"line":34,"column":null}},"11":{"start":{"line":36,"column":2},"end":{"line":41,"column":null}},"12":{"start":{"line":37,"column":4},"end":{"line":40,"column":null}},"13":{"start":{"line":38,"column":6},"end":{"line":38,"column":null}},"14":{"start":{"line":39,"column":6},"end":{"line":39,"column":null}},"15":{"start":{"line":135,"column":30},"end":{"line":143,"column":null}},"16":{"start":{"line":136,"column":2},"end":{"line":142,"column":null}}},"fnMap":{"0":{"name":"CDCPLanding","decl":{"start":{"line":9,"column":24},"end":{"line":9,"column":36}},"loc":{"start":{"line":9,"column":41},"end":{"line":133,"column":1}}},"1":{"name":"(anonymous_5)","decl":{"start":{"line":36,"column":12},"end":{"line":36,"column":null}},"loc":{"start":{"line":36,"column":12},"end":{"line":41,"column":5}}},"2":{"name":"(anonymous_6)","decl":{"start":{"line":135,"column":30},"end":{"line":135,"column":37}},"loc":{"start":{"line":135,"column":47},"end":{"line":143,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":37,"column":4},"end":{"line":40,"column":null}},"type":"if","locations":[{"start":{"line":37,"column":4},"end":{"line":40,"column":null}}]},"1":{"loc":{"start":{"line":38,"column":30},"end":{"line":38,"column":57}},"type":"binary-expr","locations":[{"start":{"line":38,"column":30},"end":{"line":38,"column":51}},{"start":{"line":38,"column":55},"end":{"line":38,"column":57}}]},"2":{"loc":{"start":{"line":46,"column":15},"end":{"line":46,"column":null}},"type":"cond-expr","locations":[{"start":{"line":46,"column":39},"end":{"line":46,"column":58}},{"start":{"line":46,"column":58},"end":{"line":46,"column":null}}]},"3":{"loc":{"start":{"line":63,"column":19},"end":{"line":63,"column":null}},"type":"cond-expr","locations":[{"start":{"line":63,"column":43},"end":{"line":63,"column":51}},{"start":{"line":63,"column":51},"end":{"line":63,"column":null}}]},"4":{"loc":{"start":{"line":69,"column":12},"end":{"line":71,"column":null}},"type":"cond-expr","locations":[{"start":{"line":70,"column":16},"end":{"line":70,"column":null}},{"start":{"line":71,"column":16},"end":{"line":71,"column":null}}]},"5":{"loc":{"start":{"line":139,"column":25},"end":{"line":139,"column":null}},"type":"binary-expr","locations":[{"start":{"line":139,"column":25},"end":{"line":139,"column":56}},{"start":{"line":139,"column":60},"end":{"line":139,"column":null}}]}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/pages/error.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/pages/error.js","statementMap":{"0":{"start":{"line":10,"column":24},"end":{"line":10,"column":34}},"1":{"start":{"line":435,"column":13},"end":{"line":435,"column":27}},"2":{"start":{"line":1,"column":17},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":17},"end":{"line":2,"column":null}},"4":{"start":{"line":3,"column":29},"end":{"line":3,"column":null}},"5":{"start":{"line":4,"column":39},"end":{"line":4,"column":null}},"6":{"start":{"line":5,"column":31},"end":{"line":5,"column":null}},"7":{"start":{"line":6,"column":26},"end":{"line":6,"column":null}},"8":{"start":{"line":7,"column":36},"end":{"line":7,"column":null}},"9":{"start":{"line":8,"column":31},"end":{"line":8,"column":null}},"10":{"start":{"line":11,"column":16},"end":{"line":11,"column":null}},"11":{"start":{"line":12,"column":20},"end":{"line":12,"column":null}},"12":{"start":{"line":13,"column":21},"end":{"line":13,"column":null}},"13":{"start":{"line":15,"column":21},"end":{"line":15,"column":null}},"14":{"start":{"line":17,"column":4},"end":{"line":17,"column":69}},"15":{"start":{"line":19,"column":4},"end":{"line":19,"column":71}},"16":{"start":{"line":21,"column":4},"end":{"line":21,"column":71}},"17":{"start":{"line":23,"column":4},"end":{"line":23,"column":73}},"18":{"start":{"line":25,"column":2},"end":{"line":30,"column":null}},"19":{"start":{"line":26,"column":4},"end":{"line":29,"column":null}},"20":{"start":{"line":27,"column":6},"end":{"line":27,"column":null}},"21":{"start":{"line":28,"column":6},"end":{"line":28,"column":null}},"22":{"start":{"line":435,"column":30},"end":{"line":447,"column":null}},"23":{"start":{"line":436,"column":19},"end":{"line":436,"column":null}},"24":{"start":{"line":438,"column":2},"end":{"line":446,"column":null}}},"fnMap":{"0":{"name":"ErrorPage","decl":{"start":{"line":10,"column":24},"end":{"line":10,"column":34}},"loc":{"start":{"line":10,"column":39},"end":{"line":433,"column":1}}},"1":{"name":"(anonymous_5)","decl":{"start":{"line":25,"column":12},"end":{"line":25,"column":null}},"loc":{"start":{"line":25,"column":12},"end":{"line":30,"column":5}}},"2":{"name":"(anonymous_6)","decl":{"start":{"line":435,"column":30},"end":{"line":435,"column":37}},"loc":{"start":{"line":435,"column":47},"end":{"line":447,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":15,"column":21},"end":{"line":15,"column":null}},"type":"binary-expr","locations":[{"start":{"line":15,"column":21},"end":{"line":15,"column":37}},{"start":{"line":15,"column":41},"end":{"line":15,"column":null}}]},"1":{"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":69}},"type":"binary-expr","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":20}},{"start":{"line":17,"column":24},"end":{"line":17,"column":69}}]},"2":{"loc":{"start":{"line":19,"column":4},"end":{"line":19,"column":71}},"type":"binary-expr","locations":[{"start":{"line":19,"column":4},"end":{"line":19,"column":22}},{"start":{"line":19,"column":26},"end":{"line":19,"column":71}}]},"3":{"loc":{"start":{"line":21,"column":4},"end":{"line":21,"column":71}},"type":"binary-expr","locations":[{"start":{"line":21,"column":4},"end":{"line":21,"column":22}},{"start":{"line":21,"column":26},"end":{"line":21,"column":71}}]},"4":{"loc":{"start":{"line":23,"column":4},"end":{"line":23,"column":73}},"type":"binary-expr","locations":[{"start":{"line":23,"column":4},"end":{"line":23,"column":24}},{"start":{"line":23,"column":28},"end":{"line":23,"column":73}}]},"5":{"loc":{"start":{"line":26,"column":4},"end":{"line":29,"column":null}},"type":"if","locations":[{"start":{"line":26,"column":4},"end":{"line":29,"column":null}}]},"6":{"loc":{"start":{"line":27,"column":30},"end":{"line":27,"column":57}},"type":"binary-expr","locations":[{"start":{"line":27,"column":30},"end":{"line":27,"column":51}},{"start":{"line":27,"column":55},"end":{"line":27,"column":57}}]},"7":{"loc":{"start":{"line":45,"column":12},"end":{"line":47,"column":55}},"type":"cond-expr","locations":[{"start":{"line":46,"column":16},"end":{"line":46,"column":51}},{"start":{"line":47,"column":16},"end":{"line":47,"column":55}}]},"8":{"loc":{"start":{"line":67,"column":19},"end":{"line":67,"column":null}},"type":"cond-expr","locations":[{"start":{"line":67,"column":43},"end":{"line":67,"column":51}},{"start":{"line":67,"column":51},"end":{"line":67,"column":null}}]},"9":{"loc":{"start":{"line":98,"column":12},"end":{"line":100,"column":null}},"type":"cond-expr","locations":[{"start":{"line":99,"column":16},"end":{"line":99,"column":null}},{"start":{"line":100,"column":16},"end":{"line":100,"column":null}}]},"10":{"loc":{"start":{"line":132,"column":12},"end":{"line":134,"column":55}},"type":"cond-expr","locations":[{"start":{"line":133,"column":16},"end":{"line":133,"column":51}},{"start":{"line":134,"column":16},"end":{"line":134,"column":55}}]},"11":{"loc":{"start":{"line":156,"column":12},"end":{"line":158,"column":55}},"type":"cond-expr","locations":[{"start":{"line":157,"column":16},"end":{"line":157,"column":51}},{"start":{"line":158,"column":16},"end":{"line":158,"column":55}}]},"12":{"loc":{"start":{"line":169,"column":16},"end":{"line":171,"column":58}},"type":"cond-expr","locations":[{"start":{"line":170,"column":20},"end":{"line":170,"column":58}},{"start":{"line":171,"column":20},"end":{"line":171,"column":58}}]},"13":{"loc":{"start":{"line":174,"column":16},"end":{"line":176,"column":59}},"type":"cond-expr","locations":[{"start":{"line":175,"column":20},"end":{"line":175,"column":59}},{"start":{"line":176,"column":20},"end":{"line":176,"column":59}}]},"14":{"loc":{"start":{"line":192,"column":17},"end":{"line":200,"column":null}},"type":"cond-expr","locations":[{"start":{"line":193,"column":18},"end":{"line":200,"column":null}},{"start":{"line":200,"column":18},"end":{"line":200,"column":null}}]},"15":{"loc":{"start":{"line":209,"column":18},"end":{"line":242,"column":37}},"type":"cond-expr","locations":[{"start":{"line":209,"column":18},"end":{"line":242,"column":37}}]},"16":{"loc":{"start":{"line":243,"column":18},"end":{"line":268,"column":51}},"type":"cond-expr","locations":[{"start":{"line":243,"column":18},"end":{"line":268,"column":51}}]},"17":{"loc":{"start":{"line":289,"column":20},"end":{"line":291,"column":63}},"type":"cond-expr","locations":[{"start":{"line":290,"column":24},"end":{"line":290,"column":63}},{"start":{"line":291,"column":24},"end":{"line":291,"column":63}}]},"18":{"loc":{"start":{"line":309,"column":17},"end":{"line":317,"column":null}},"type":"cond-expr","locations":[{"start":{"line":310,"column":18},"end":{"line":317,"column":null}},{"start":{"line":317,"column":18},"end":{"line":317,"column":null}}]},"19":{"loc":{"start":{"line":326,"column":18},"end":{"line":359,"column":39}},"type":"cond-expr","locations":[{"start":{"line":326,"column":18},"end":{"line":359,"column":39}}]},"20":{"loc":{"start":{"line":360,"column":18},"end":{"line":385,"column":50}},"type":"cond-expr","locations":[{"start":{"line":360,"column":18},"end":{"line":385,"column":50}}]},"21":{"loc":{"start":{"line":418,"column":16},"end":{"line":420,"column":58}},"type":"cond-expr","locations":[{"start":{"line":419,"column":20},"end":{"line":419,"column":58}},{"start":{"line":420,"column":20},"end":{"line":420,"column":58}}]},"22":{"loc":{"start":{"line":423,"column":16},"end":{"line":425,"column":59}},"type":"cond-expr","locations":[{"start":{"line":424,"column":20},"end":{"line":424,"column":59}},{"start":{"line":425,"column":20},"end":{"line":425,"column":59}}]},"23":{"loc":{"start":{"line":441,"column":25},"end":{"line":441,"column":null}},"type":"binary-expr","locations":[{"start":{"line":441,"column":25},"end":{"line":441,"column":56}},{"start":{"line":441,"column":60},"end":{"line":441,"column":null}}]}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0],"16":[0],"17":[0,0],"18":[0,0],"19":[0],"20":[0],"21":[0,0],"22":[0,0],"23":[0,0]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/pages/home.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/pages/home.js","statementMap":{"0":{"start":{"line":11,"column":24},"end":{"line":11,"column":29}},"1":{"start":{"line":412,"column":13},"end":{"line":412,"column":27}},"2":{"start":{"line":1,"column":17},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":39},"end":{"line":2,"column":null}},"4":{"start":{"line":3,"column":23},"end":{"line":3,"column":null}},"5":{"start":{"line":4,"column":26},"end":{"line":4,"column":null}},"6":{"start":{"line":5,"column":17},"end":{"line":5,"column":null}},"7":{"start":{"line":6,"column":31},"end":{"line":6,"column":null}},"8":{"start":{"line":7,"column":24},"end":{"line":7,"column":null}},"9":{"start":{"line":8,"column":32},"end":{"line":8,"column":null}},"10":{"start":{"line":9,"column":18},"end":{"line":9,"column":null}},"11":{"start":{"line":12,"column":19},"end":{"line":12,"column":null}},"12":{"start":{"line":13,"column":26},"end":{"line":13,"column":47}},"13":{"start":{"line":15,"column":26},"end":{"line":20,"column":null}},"14":{"start":{"line":16,"column":4},"end":{"line":18,"column":null}},"15":{"start":{"line":22,"column":25},"end":{"line":42,"column":null}},"16":{"start":{"line":24,"column":22},"end":{"line":31,"column":null}},"17":{"start":{"line":33,"column":23},"end":{"line":33,"column":null}},"18":{"start":{"line":34,"column":4},"end":{"line":36,"column":null}},"19":{"start":{"line":34,"column":17},"end":{"line":34,"column":20}},"20":{"start":{"line":35,"column":6},"end":{"line":35,"column":null}},"21":{"start":{"line":39,"column":4},"end":{"line":41,"column":null}},"22":{"start":{"line":40,"column":6},"end":{"line":40,"column":null}},"23":{"start":{"line":44,"column":33},"end":{"line":46,"column":29}},"24":{"start":{"line":46,"column":6},"end":{"line":46,"column":29}},"25":{"start":{"line":91,"column":2},"end":{"line":96,"column":null}},"26":{"start":{"line":92,"column":4},"end":{"line":95,"column":null}},"27":{"start":{"line":93,"column":6},"end":{"line":93,"column":null}},"28":{"start":{"line":94,"column":6},"end":{"line":94,"column":null}},"29":{"start":{"line":412,"column":30},"end":{"line":430,"column":null}},"30":{"start":{"line":413,"column":29},"end":{"line":414,"column":null}},"31":{"start":{"line":416,"column":36},"end":{"line":417,"column":null}},"32":{"start":{"line":420,"column":2},"end":{"line":429,"column":null}}},"fnMap":{"0":{"name":"Home","decl":{"start":{"line":11,"column":24},"end":{"line":11,"column":29}},"loc":{"start":{"line":11,"column":34},"end":{"line":410,"column":1}}},"1":{"name":"(anonymous_5)","decl":{"start":{"line":15,"column":49},"end":{"line":15,"column":50}},"loc":{"start":{"line":15,"column":50},"end":{"line":20,"column":null}}},"2":{"name":"(anonymous_6)","decl":{"start":{"line":22,"column":25},"end":{"line":22,"column":26}},"loc":{"start":{"line":22,"column":26},"end":{"line":42,"column":null}}},"3":{"name":"(anonymous_7)","decl":{"start":{"line":39,"column":24},"end":{"line":39,"column":25}},"loc":{"start":{"line":39,"column":28},"end":{"line":41,"column":null}}},"4":{"name":"(anonymous_8)","decl":{"start":{"line":45,"column":4},"end":{"line":45,"column":5}},"loc":{"start":{"line":46,"column":6},"end":{"line":46,"column":29}}},"5":{"name":"(anonymous_9)","decl":{"start":{"line":91,"column":12},"end":{"line":91,"column":null}},"loc":{"start":{"line":91,"column":12},"end":{"line":96,"column":5}}},"6":{"name":"(anonymous_10)","decl":{"start":{"line":412,"column":30},"end":{"line":412,"column":37}},"loc":{"start":{"line":412,"column":47},"end":{"line":430,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":50,"column":12},"end":{"line":51,"column":null}},"type":"binary-expr","locations":[{"start":{"line":50,"column":12},"end":{"line":50,"column":39}},{"start":{"line":51,"column":12},"end":{"line":51,"column":null}}]},"1":{"loc":{"start":{"line":54,"column":12},"end":{"line":54,"column":null}},"type":"cond-expr","locations":[{"start":{"line":54,"column":36},"end":{"line":54,"column":51}},{"start":{"line":54,"column":51},"end":{"line":54,"column":null}}]},"2":{"loc":{"start":{"line":58,"column":12},"end":{"line":60,"column":56}},"type":"cond-expr","locations":[{"start":{"line":59,"column":16},"end":{"line":59,"column":56}},{"start":{"line":60,"column":16},"end":{"line":60,"column":56}}]},"3":{"loc":{"start":{"line":63,"column":12},"end":{"line":65,"column":51}},"type":"cond-expr","locations":[{"start":{"line":64,"column":16},"end":{"line":64,"column":51}},{"start":{"line":65,"column":16},"end":{"line":65,"column":51}}]},"4":{"loc":{"start":{"line":68,"column":12},"end":{"line":70,"column":null}},"type":"cond-expr","locations":[{"start":{"line":69,"column":16},"end":{"line":69,"column":51}},{"start":{"line":70,"column":16},"end":{"line":70,"column":null}}]},"5":{"loc":{"start":{"line":73,"column":12},"end":{"line":75,"column":null}},"type":"cond-expr","locations":[{"start":{"line":74,"column":16},"end":{"line":74,"column":50}},{"start":{"line":75,"column":16},"end":{"line":75,"column":null}}]},"6":{"loc":{"start":{"line":77,"column":17},"end":{"line":77,"column":78}},"type":"cond-expr","locations":[{"start":{"line":77,"column":41},"end":{"line":77,"column":58}},{"start":{"line":77,"column":61},"end":{"line":77,"column":78}}]},"7":{"loc":{"start":{"line":79,"column":12},"end":{"line":79,"column":79}},"type":"cond-expr","locations":[{"start":{"line":79,"column":36},"end":{"line":79,"column":56}},{"start":{"line":79,"column":59},"end":{"line":79,"column":79}}]},"8":{"loc":{"start":{"line":82,"column":12},"end":{"line":84,"column":64}},"type":"cond-expr","locations":[{"start":{"line":83,"column":16},"end":{"line":83,"column":64}},{"start":{"line":84,"column":16},"end":{"line":84,"column":64}}]},"9":{"loc":{"start":{"line":92,"column":4},"end":{"line":95,"column":null}},"type":"if","locations":[{"start":{"line":92,"column":4},"end":{"line":95,"column":null}}]},"10":{"loc":{"start":{"line":93,"column":30},"end":{"line":93,"column":57}},"type":"binary-expr","locations":[{"start":{"line":93,"column":30},"end":{"line":93,"column":51}},{"start":{"line":93,"column":55},"end":{"line":93,"column":57}}]},"11":{"loc":{"start":{"line":103,"column":10},"end":{"line":103,"column":79}},"type":"cond-expr","locations":[{"start":{"line":103,"column":34},"end":{"line":103,"column":55}},{"start":{"line":103,"column":58},"end":{"line":103,"column":79}}]},"12":{"loc":{"start":{"line":110,"column":13},"end":{"line":110,"column":76}},"type":"cond-expr","locations":[{"start":{"line":110,"column":37},"end":{"line":110,"column":55}},{"start":{"line":110,"column":58},"end":{"line":110,"column":76}}]},"13":{"loc":{"start":{"line":115,"column":14},"end":{"line":117,"column":67}},"type":"cond-expr","locations":[{"start":{"line":116,"column":18},"end":{"line":116,"column":67}},{"start":{"line":117,"column":18},"end":{"line":117,"column":67}}]},"14":{"loc":{"start":{"line":126,"column":14},"end":{"line":128,"column":39}},"type":"cond-expr","locations":[{"start":{"line":127,"column":18},"end":{"line":127,"column":39}},{"start":{"line":128,"column":18},"end":{"line":128,"column":39}}]},"15":{"loc":{"start":{"line":136,"column":14},"end":{"line":136,"column":77}},"type":"cond-expr","locations":[{"start":{"line":136,"column":38},"end":{"line":136,"column":56}},{"start":{"line":136,"column":59},"end":{"line":136,"column":77}}]},"16":{"loc":{"start":{"line":141,"column":21},"end":{"line":141,"column":null}},"type":"cond-expr","locations":[{"start":{"line":141,"column":45},"end":{"line":141,"column":53}},{"start":{"line":141,"column":53},"end":{"line":141,"column":null}}]},"17":{"loc":{"start":{"line":147,"column":14},"end":{"line":149,"column":67}},"type":"cond-expr","locations":[{"start":{"line":148,"column":18},"end":{"line":148,"column":67}},{"start":{"line":149,"column":18},"end":{"line":149,"column":67}}]},"18":{"loc":{"start":{"line":160,"column":14},"end":{"line":162,"column":null}},"type":"cond-expr","locations":[{"start":{"line":161,"column":18},"end":{"line":161,"column":null}},{"start":{"line":162,"column":18},"end":{"line":162,"column":null}}]},"19":{"loc":{"start":{"line":182,"column":16},"end":{"line":184,"column":41}},"type":"cond-expr","locations":[{"start":{"line":183,"column":20},"end":{"line":183,"column":41}},{"start":{"line":184,"column":20},"end":{"line":184,"column":41}}]},"20":{"loc":{"start":{"line":191,"column":14},"end":{"line":191,"column":77}},"type":"cond-expr","locations":[{"start":{"line":191,"column":38},"end":{"line":191,"column":56}},{"start":{"line":191,"column":59},"end":{"line":191,"column":77}}]},"21":{"loc":{"start":{"line":197,"column":14},"end":{"line":199,"column":67}},"type":"cond-expr","locations":[{"start":{"line":198,"column":18},"end":{"line":198,"column":67}},{"start":{"line":199,"column":18},"end":{"line":199,"column":67}}]},"22":{"loc":{"start":{"line":209,"column":14},"end":{"line":209,"column":77}},"type":"cond-expr","locations":[{"start":{"line":209,"column":38},"end":{"line":209,"column":56}},{"start":{"line":209,"column":59},"end":{"line":209,"column":77}}]},"23":{"loc":{"start":{"line":220,"column":16},"end":{"line":222,"column":41}},"type":"cond-expr","locations":[{"start":{"line":221,"column":20},"end":{"line":221,"column":41}},{"start":{"line":222,"column":20},"end":{"line":222,"column":41}}]},"24":{"loc":{"start":{"line":229,"column":14},"end":{"line":229,"column":77}},"type":"cond-expr","locations":[{"start":{"line":229,"column":38},"end":{"line":229,"column":56}},{"start":{"line":229,"column":59},"end":{"line":229,"column":77}}]},"25":{"loc":{"start":{"line":236,"column":14},"end":{"line":238,"column":67}},"type":"cond-expr","locations":[{"start":{"line":237,"column":18},"end":{"line":237,"column":67}},{"start":{"line":238,"column":18},"end":{"line":238,"column":67}}]},"26":{"loc":{"start":{"line":248,"column":14},"end":{"line":248,"column":77}},"type":"cond-expr","locations":[{"start":{"line":248,"column":38},"end":{"line":248,"column":56}},{"start":{"line":248,"column":59},"end":{"line":248,"column":77}}]},"27":{"loc":{"start":{"line":259,"column":18},"end":{"line":261,"column":40}},"type":"cond-expr","locations":[{"start":{"line":260,"column":22},"end":{"line":260,"column":40}},{"start":{"line":261,"column":22},"end":{"line":261,"column":40}}]},"28":{"loc":{"start":{"line":266,"column":15},"end":{"line":268,"column":78}},"type":"cond-expr","locations":[{"start":{"line":267,"column":18},"end":{"line":267,"column":78}},{"start":{"line":268,"column":18},"end":{"line":268,"column":78}}]},"29":{"loc":{"start":{"line":271,"column":15},"end":{"line":273,"column":78}},"type":"cond-expr","locations":[{"start":{"line":272,"column":18},"end":{"line":272,"column":78}},{"start":{"line":273,"column":18},"end":{"line":273,"column":78}}]},"30":{"loc":{"start":{"line":284,"column":22},"end":{"line":286,"column":71}},"type":"cond-expr","locations":[{"start":{"line":285,"column":26},"end":{"line":285,"column":71}},{"start":{"line":286,"column":26},"end":{"line":286,"column":71}}]},"31":{"loc":{"start":{"line":302,"column":17},"end":{"line":305,"column":28}},"type":"cond-expr","locations":[{"start":{"line":303,"column":20},"end":{"line":303,"column":80}},{"start":{"line":304,"column":20},"end":{"line":305,"column":28}}]},"32":{"loc":{"start":{"line":308,"column":17},"end":{"line":311,"column":28}},"type":"cond-expr","locations":[{"start":{"line":309,"column":20},"end":{"line":309,"column":80}},{"start":{"line":310,"column":20},"end":{"line":311,"column":28}}]},"33":{"loc":{"start":{"line":316,"column":21},"end":{"line":320,"column":43}},"type":"cond-expr","locations":[{"start":{"line":317,"column":24},"end":{"line":318,"column":43}},{"start":{"line":319,"column":24},"end":{"line":320,"column":43}}]},"34":{"loc":{"start":{"line":325,"column":21},"end":{"line":329,"column":43}},"type":"cond-expr","locations":[{"start":{"line":326,"column":24},"end":{"line":327,"column":43}},{"start":{"line":328,"column":24},"end":{"line":329,"column":43}}]},"35":{"loc":{"start":{"line":336,"column":13},"end":{"line":339,"column":24}},"type":"cond-expr","locations":[{"start":{"line":337,"column":16},"end":{"line":337,"column":76}},{"start":{"line":338,"column":16},"end":{"line":339,"column":24}}]},"36":{"loc":{"start":{"line":348,"column":16},"end":{"line":350,"column":53}},"type":"cond-expr","locations":[{"start":{"line":349,"column":20},"end":{"line":349,"column":53}},{"start":{"line":350,"column":20},"end":{"line":350,"column":53}}]},"37":{"loc":{"start":{"line":354,"column":18},"end":{"line":377,"column":null}},"type":"cond-expr","locations":[{"start":{"line":354,"column":18},"end":{"line":377,"column":null}}]},"38":{"loc":{"start":{"line":423,"column":25},"end":{"line":423,"column":null}},"type":"binary-expr","locations":[{"start":{"line":423,"column":25},"end":{"line":423,"column":56}},{"start":{"line":423,"column":60},"end":{"line":423,"column":null}}]},"39":{"loc":{"start":{"line":428,"column":16},"end":{"line":428,"column":null}},"type":"cond-expr","locations":[{"start":{"line":428,"column":53},"end":{"line":428,"column":58}},{"start":{"line":428,"column":58},"end":{"line":428,"column":null}}]}},"s":{"0":1,"1":0,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":2,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":6,"21":1,"22":0,"23":1,"24":1,"25":1,"26":1,"27":0,"28":0,"29":1,"30":0,"31":0,"32":0},"f":{"0":2,"1":1,"2":1,"3":0,"4":1,"5":1,"6":0},"b":{"0":[1,0],"1":[0,1],"2":[0,1],"3":[0,1],"4":[1,0],"5":[1,0],"6":[0,1],"7":[0,1],"8":[0,1],"9":[0],"10":[0,0],"11":[0,1],"12":[0,1],"13":[0,1],"14":[0,1],"15":[0,1],"16":[0,1],"17":[0,1],"18":[0,1],"19":[0,1],"20":[0,1],"21":[0,1],"22":[0,1],"23":[0,1],"24":[0,1],"25":[0,1],"26":[0,1],"27":[0,1],"28":[0,1],"29":[0,1],"30":[0,1],"31":[0,1],"32":[0,1],"33":[0,1],"34":[0,1],"35":[0,1],"36":[0,1],"37":[0],"38":[0,0],"39":[0,0]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/pages/index.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/pages/index.js","statementMap":{"0":{"start":{"line":8,"column":24},"end":{"line":8,"column":30}},"1":{"start":{"line":188,"column":13},"end":{"line":188,"column":31}},"2":{"start":{"line":1,"column":17},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":39},"end":{"line":2,"column":null}},"4":{"start":{"line":3,"column":31},"end":{"line":3,"column":null}},"5":{"start":{"line":4,"column":29},"end":{"line":4,"column":null}},"6":{"start":{"line":5,"column":17},"end":{"line":5,"column":null}},"7":{"start":{"line":6,"column":26},"end":{"line":6,"column":null}},"8":{"start":{"line":9,"column":16},"end":{"line":9,"column":null}},"9":{"start":{"line":11,"column":2},"end":{"line":17,"column":null}},"10":{"start":{"line":12,"column":4},"end":{"line":15,"column":null}},"11":{"start":{"line":13,"column":6},"end":{"line":13,"column":null}},"12":{"start":{"line":14,"column":6},"end":{"line":14,"column":null}},"13":{"start":{"line":16,"column":4},"end":{"line":16,"column":null}},"14":{"start":{"line":188,"column":34},"end":{"line":194,"column":null}},"15":{"start":{"line":188,"column":57},"end":{"line":194,"column":null}}},"fnMap":{"0":{"name":"Index","decl":{"start":{"line":8,"column":24},"end":{"line":8,"column":30}},"loc":{"start":{"line":8,"column":35},"end":{"line":186,"column":1}}},"1":{"name":"(anonymous_5)","decl":{"start":{"line":11,"column":12},"end":{"line":11,"column":null}},"loc":{"start":{"line":11,"column":12},"end":{"line":17,"column":5}}},"2":{"name":"(anonymous_6)","decl":{"start":{"line":188,"column":34},"end":{"line":188,"column":41}},"loc":{"start":{"line":188,"column":57},"end":{"line":194,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":12,"column":4},"end":{"line":15,"column":null}},"type":"if","locations":[{"start":{"line":12,"column":4},"end":{"line":15,"column":null}}]},"1":{"loc":{"start":{"line":13,"column":30},"end":{"line":13,"column":57}},"type":"binary-expr","locations":[{"start":{"line":13,"column":30},"end":{"line":13,"column":51}},{"start":{"line":13,"column":55},"end":{"line":13,"column":57}}]},"2":{"loc":{"start":{"line":47,"column":19},"end":{"line":47,"column":null}},"type":"cond-expr","locations":[{"start":{"line":47,"column":43},"end":{"line":47,"column":51}},{"start":{"line":47,"column":51},"end":{"line":47,"column":null}}]},"3":{"loc":{"start":{"line":190,"column":12},"end":{"line":190,"column":null}},"type":"binary-expr","locations":[{"start":{"line":190,"column":12},"end":{"line":190,"column":22}},{"start":{"line":190,"column":22},"end":{"line":190,"column":null}}]},"4":{"loc":{"start":{"line":191,"column":23},"end":{"line":191,"column":null}},"type":"binary-expr","locations":[{"start":{"line":191,"column":23},"end":{"line":191,"column":54}},{"start":{"line":191,"column":58},"end":{"line":191,"column":null}}]}},"s":{"0":1,"1":0,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":0,"12":0,"13":1,"14":1,"15":0},"f":{"0":1,"1":1,"2":0},"b":{"0":[0],"1":[0,0],"2":[0,1],"3":[0,0],"4":[0,0]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/pages/notsupported.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/pages/notsupported.js","statementMap":{"0":{"start":{"line":10,"column":24},"end":{"line":10,"column":37}},"1":{"start":{"line":470,"column":13},"end":{"line":470,"column":27}},"2":{"start":{"line":1,"column":17},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":31},"end":{"line":2,"column":null}},"4":{"start":{"line":3,"column":39},"end":{"line":3,"column":null}},"5":{"start":{"line":4,"column":29},"end":{"line":4,"column":null}},"6":{"start":{"line":5,"column":26},"end":{"line":5,"column":null}},"7":{"start":{"line":6,"column":32},"end":{"line":6,"column":null}},"8":{"start":{"line":8,"column":31},"end":{"line":8,"column":null}},"9":{"start":{"line":11,"column":16},"end":{"line":11,"column":null}},"10":{"start":{"line":12,"column":34},"end":{"line":12,"column":null}},"11":{"start":{"line":13,"column":34},"end":{"line":13,"column":null}},"12":{"start":{"line":14,"column":21},"end":{"line":14,"column":null}},"13":{"start":{"line":16,"column":2},"end":{"line":21,"column":null}},"14":{"start":{"line":17,"column":4},"end":{"line":20,"column":null}},"15":{"start":{"line":18,"column":6},"end":{"line":18,"column":null}},"16":{"start":{"line":19,"column":6},"end":{"line":19,"column":null}},"17":{"start":{"line":24,"column":4},"end":{"line":24,"column":null}},"18":{"start":{"line":25,"column":4},"end":{"line":25,"column":null}},"19":{"start":{"line":29,"column":4},"end":{"line":29,"column":null}},"20":{"start":{"line":30,"column":4},"end":{"line":30,"column":null}},"21":{"start":{"line":470,"column":30},"end":{"line":482,"column":null}},"22":{"start":{"line":471,"column":19},"end":{"line":471,"column":null}},"23":{"start":{"line":473,"column":2},"end":{"line":481,"column":null}}},"fnMap":{"0":{"name":"notSupported","decl":{"start":{"line":10,"column":24},"end":{"line":10,"column":37}},"loc":{"start":{"line":10,"column":42},"end":{"line":468,"column":1}}},"1":{"name":"(anonymous_5)","decl":{"start":{"line":16,"column":12},"end":{"line":16,"column":null}},"loc":{"start":{"line":16,"column":12},"end":{"line":21,"column":5}}},"2":{"name":"onClickEn","decl":{"start":{"line":23,"column":11},"end":{"line":23,"column":null}},"loc":{"start":{"line":23,"column":11},"end":{"line":26,"column":null}}},"3":{"name":"onClickFr","decl":{"start":{"line":28,"column":11},"end":{"line":28,"column":null}},"loc":{"start":{"line":28,"column":11},"end":{"line":31,"column":null}}},"4":{"name":"(anonymous_8)","decl":{"start":{"line":470,"column":30},"end":{"line":470,"column":37}},"loc":{"start":{"line":470,"column":47},"end":{"line":482,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":17,"column":4},"end":{"line":20,"column":null}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":20,"column":null}}]},"1":{"loc":{"start":{"line":18,"column":30},"end":{"line":18,"column":57}},"type":"binary-expr","locations":[{"start":{"line":18,"column":30},"end":{"line":18,"column":51}},{"start":{"line":18,"column":55},"end":{"line":18,"column":57}}]},"2":{"loc":{"start":{"line":72,"column":19},"end":{"line":72,"column":null}},"type":"cond-expr","locations":[{"start":{"line":72,"column":43},"end":{"line":72,"column":51}},{"start":{"line":72,"column":51},"end":{"line":72,"column":null}}]},"3":{"loc":{"start":{"line":78,"column":12},"end":{"line":80,"column":null}},"type":"cond-expr","locations":[{"start":{"line":79,"column":16},"end":{"line":79,"column":null}},{"start":{"line":80,"column":16},"end":{"line":80,"column":null}}]},"4":{"loc":{"start":{"line":153,"column":16},"end":{"line":155,"column":58}},"type":"cond-expr","locations":[{"start":{"line":154,"column":20},"end":{"line":154,"column":58}},{"start":{"line":155,"column":20},"end":{"line":155,"column":58}}]},"5":{"loc":{"start":{"line":158,"column":16},"end":{"line":160,"column":59}},"type":"cond-expr","locations":[{"start":{"line":159,"column":20},"end":{"line":159,"column":59}},{"start":{"line":160,"column":20},"end":{"line":160,"column":59}}]},"6":{"loc":{"start":{"line":181,"column":20},"end":{"line":183,"column":63}},"type":"cond-expr","locations":[{"start":{"line":182,"column":24},"end":{"line":182,"column":63}},{"start":{"line":183,"column":24},"end":{"line":183,"column":63}}]},"7":{"loc":{"start":{"line":209,"column":18},"end":{"line":211,"column":61}},"type":"cond-expr","locations":[{"start":{"line":210,"column":22},"end":{"line":210,"column":61}},{"start":{"line":211,"column":22},"end":{"line":211,"column":61}}]},"8":{"loc":{"start":{"line":214,"column":18},"end":{"line":216,"column":62}},"type":"cond-expr","locations":[{"start":{"line":215,"column":22},"end":{"line":215,"column":62}},{"start":{"line":216,"column":22},"end":{"line":216,"column":62}}]},"9":{"loc":{"start":{"line":228,"column":18},"end":{"line":230,"column":61}},"type":"cond-expr","locations":[{"start":{"line":229,"column":22},"end":{"line":229,"column":61}},{"start":{"line":230,"column":22},"end":{"line":230,"column":61}}]},"10":{"loc":{"start":{"line":233,"column":18},"end":{"line":235,"column":62}},"type":"cond-expr","locations":[{"start":{"line":234,"column":22},"end":{"line":234,"column":62}},{"start":{"line":235,"column":22},"end":{"line":235,"column":62}}]},"11":{"loc":{"start":{"line":247,"column":18},"end":{"line":249,"column":61}},"type":"cond-expr","locations":[{"start":{"line":248,"column":22},"end":{"line":248,"column":61}},{"start":{"line":249,"column":22},"end":{"line":249,"column":61}}]},"12":{"loc":{"start":{"line":252,"column":18},"end":{"line":254,"column":62}},"type":"cond-expr","locations":[{"start":{"line":253,"column":22},"end":{"line":253,"column":62}},{"start":{"line":254,"column":22},"end":{"line":254,"column":62}}]},"13":{"loc":{"start":{"line":266,"column":18},"end":{"line":268,"column":61}},"type":"cond-expr","locations":[{"start":{"line":267,"column":22},"end":{"line":267,"column":61}},{"start":{"line":268,"column":22},"end":{"line":268,"column":61}}]},"14":{"loc":{"start":{"line":271,"column":18},"end":{"line":273,"column":62}},"type":"cond-expr","locations":[{"start":{"line":272,"column":22},"end":{"line":272,"column":62}},{"start":{"line":273,"column":22},"end":{"line":273,"column":62}}]},"15":{"loc":{"start":{"line":292,"column":28},"end":{"line":292,"column":null}},"type":"cond-expr","locations":[{"start":{"line":292,"column":39},"end":{"line":292,"column":51}},{"start":{"line":292,"column":51},"end":{"line":292,"column":null}}]},"16":{"loc":{"start":{"line":293,"column":29},"end":{"line":293,"column":null}},"type":"cond-expr","locations":[{"start":{"line":293,"column":40},"end":{"line":293,"column":59}},{"start":{"line":293,"column":59},"end":{"line":293,"column":null}}]},"17":{"loc":{"start":{"line":368,"column":30},"end":{"line":368,"column":null}},"type":"cond-expr","locations":[{"start":{"line":368,"column":41},"end":{"line":368,"column":52}},{"start":{"line":368,"column":52},"end":{"line":368,"column":null}}]},"18":{"loc":{"start":{"line":370,"column":31},"end":{"line":370,"column":null}},"type":"cond-expr","locations":[{"start":{"line":370,"column":42},"end":{"line":370,"column":61}},{"start":{"line":370,"column":61},"end":{"line":370,"column":null}}]},"19":{"loc":{"start":{"line":452,"column":18},"end":{"line":454,"column":60}},"type":"cond-expr","locations":[{"start":{"line":453,"column":22},"end":{"line":453,"column":60}},{"start":{"line":454,"column":22},"end":{"line":454,"column":60}}]},"20":{"loc":{"start":{"line":457,"column":18},"end":{"line":459,"column":61}},"type":"cond-expr","locations":[{"start":{"line":458,"column":22},"end":{"line":458,"column":61}},{"start":{"line":459,"column":22},"end":{"line":459,"column":61}}]},"21":{"loc":{"start":{"line":476,"column":25},"end":{"line":476,"column":null}},"type":"binary-expr","locations":[{"start":{"line":476,"column":25},"end":{"line":476,"column":56}},{"start":{"line":476,"column":60},"end":{"line":476,"column":null}}]}},"s":{"0":1,"1":0,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":1,"22":0,"23":0},"f":{"0":1,"1":1,"2":0,"3":0,"4":0},"b":{"0":[0],"1":[0,0],"2":[0,1],"3":[0,1],"4":[0,1],"5":[0,1],"6":[0,1],"7":[0,1],"8":[0,1],"9":[0,1],"10":[0,1],"11":[0,1],"12":[0,1],"13":[0,1],"14":[0,1],"15":[0,1],"16":[0,1],"17":[0,1],"18":[0,1],"19":[0,1],"20":[0,1],"21":[0,0]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/pages/api/healthcheck.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/pages/api/healthcheck.js","statementMap":{"0":{"start":{"line":2,"column":24},"end":{"line":2,"column":32}},"1":{"start":{"line":3,"column":2},"end":{"line":3,"column":null}}},"fnMap":{"0":{"name":"handler","decl":{"start":{"line":2,"column":24},"end":{"line":2,"column":32}},"loc":{"start":{"line":2,"column":40},"end":{"line":4,"column":null}}}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0},"b":{}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/pages/api/report-a-problem.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/pages/api/report-a-problem.js","statementMap":{"0":{"start":{"line":63,"column":0},"end":{"line":63,"column":15}},"1":{"start":{"line":1,"column":28},"end":{"line":1,"column":null}},"2":{"start":{"line":8,"column":2},"end":{"line":60,"column":null}},"3":{"start":{"line":10,"column":4},"end":{"line":56,"column":null}},"4":{"start":{"line":14,"column":6},"end":{"line":14,"column":null}},"5":{"start":{"line":16,"column":6},"end":{"line":55,"column":null}},"6":{"start":{"line":17,"column":31},"end":{"line":43,"column":null}},"7":{"start":{"line":46,"column":8},"end":{"line":51,"column":null}},"8":{"start":{"line":47,"column":10},"end":{"line":47,"column":null}},"9":{"start":{"line":49,"column":10},"end":{"line":49,"column":null}},"10":{"start":{"line":50,"column":10},"end":{"line":50,"column":null}},"11":{"start":{"line":53,"column":8},"end":{"line":53,"column":null}},"12":{"start":{"line":54,"column":8},"end":{"line":54,"column":null}},"13":{"start":{"line":58,"column":4},"end":{"line":58,"column":null}},"14":{"start":{"line":59,"column":4},"end":{"line":59,"column":null}},"15":{"start":{"line":63,"column":15},"end":{"line":63,"column":null}}},"fnMap":{"0":{"name":"handler","decl":{"start":{"line":7,"column":15},"end":{"line":7,"column":23}},"loc":{"start":{"line":7,"column":31},"end":{"line":61,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":2},"end":{"line":60,"column":null}},"type":"if","locations":[{"start":{"line":8,"column":2},"end":{"line":60,"column":null}},{"start":{"line":57,"column":9},"end":{"line":60,"column":null}}]},"1":{"loc":{"start":{"line":10,"column":4},"end":{"line":56,"column":null}},"type":"if","locations":[{"start":{"line":10,"column":4},"end":{"line":56,"column":null}},{"start":{"line":15,"column":11},"end":{"line":56,"column":null}}]},"2":{"loc":{"start":{"line":11,"column":6},"end":{"line":12,"column":43}},"type":"binary-expr","locations":[{"start":{"line":11,"column":6},"end":{"line":11,"column":null}},{"start":{"line":12,"column":6},"end":{"line":12,"column":43}}]},"3":{"loc":{"start":{"line":20,"column":23},"end":{"line":20,"column":null}},"type":"binary-expr","locations":[{"start":{"line":20,"column":23},"end":{"line":20,"column":42}},{"start":{"line":20,"column":46},"end":{"line":20,"column":null}}]},"4":{"loc":{"start":{"line":46,"column":8},"end":{"line":51,"column":null}},"type":"if","locations":[{"start":{"line":46,"column":8},"end":{"line":51,"column":null}},{"start":{"line":48,"column":15},"end":{"line":51,"column":null}}]}},"s":{"0":5,"1":1,"2":5,"3":5,"4":2,"5":3,"6":3,"7":2,"8":1,"9":1,"10":1,"11":1,"12":1,"13":0,"14":0,"15":1},"f":{"0":5},"b":{"0":[5,0],"1":[2,3],"2":[5,4],"3":[3,0],"4":[1,1]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/pages/api/robots.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/pages/api/robots.js","statementMap":{"0":{"start":{"line":7,"column":30},"end":{"line":7,"column":38}},"1":{"start":{"line":8,"column":2},"end":{"line":18,"column":null}},"2":{"start":{"line":9,"column":4},"end":{"line":9,"column":null}},"3":{"start":{"line":10,"column":4},"end":{"line":10,"column":null}},"4":{"start":{"line":11,"column":4},"end":{"line":11,"column":null}},"5":{"start":{"line":12,"column":4},"end":{"line":12,"column":null}},"6":{"start":{"line":13,"column":4},"end":{"line":13,"column":null}},"7":{"start":{"line":14,"column":4},"end":{"line":14,"column":null}},"8":{"start":{"line":16,"column":4},"end":{"line":16,"column":null}},"9":{"start":{"line":17,"column":4},"end":{"line":17,"column":null}},"10":{"start":{"line":19,"column":2},"end":{"line":19,"column":null}}},"fnMap":{"0":{"name":"handler","decl":{"start":{"line":7,"column":30},"end":{"line":7,"column":38}},"loc":{"start":{"line":7,"column":46},"end":{"line":20,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":2},"end":{"line":18,"column":null}},"type":"if","locations":[{"start":{"line":8,"column":2},"end":{"line":18,"column":null}},{"start":{"line":15,"column":9},"end":{"line":18,"column":null}}]}},"s":{"0":2,"1":2,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":2},"f":{"0":2},"b":{"0":[1,1]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/pages/api/submit-feedback.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/pages/api/submit-feedback.js","statementMap":{"0":{"start":{"line":3,"column":30},"end":{"line":3,"column":38}},"1":{"start":{"line":1,"column":39},"end":{"line":1,"column":null}},"2":{"start":{"line":4,"column":15},"end":{"line":4,"column":23}},"3":{"start":{"line":5,"column":2},"end":{"line":19,"column":null}},"4":{"start":{"line":6,"column":4},"end":{"line":6,"column":null}},"5":{"start":{"line":8,"column":4},"end":{"line":18,"column":null}},"6":{"start":{"line":9,"column":14},"end":{"line":9,"column":null}},"7":{"start":{"line":10,"column":6},"end":{"line":14,"column":null}},"8":{"start":{"line":11,"column":8},"end":{"line":11,"column":null}},"9":{"start":{"line":13,"column":8},"end":{"line":13,"column":null}},"10":{"start":{"line":16,"column":6},"end":{"line":16,"column":null}},"11":{"start":{"line":17,"column":6},"end":{"line":17,"column":null}}},"fnMap":{"0":{"name":"handler","decl":{"start":{"line":3,"column":30},"end":{"line":3,"column":38}},"loc":{"start":{"line":3,"column":46},"end":{"line":20,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":2},"end":{"line":19,"column":null}},"type":"if","locations":[{"start":{"line":5,"column":2},"end":{"line":19,"column":null}},{"start":{"line":7,"column":9},"end":{"line":19,"column":null}}]},"1":{"loc":{"start":{"line":10,"column":6},"end":{"line":14,"column":null}},"type":"if","locations":[{"start":{"line":10,"column":6},"end":{"line":14,"column":null}},{"start":{"line":12,"column":13},"end":{"line":14,"column":null}}]}},"s":{"0":3,"1":1,"2":3,"3":3,"4":1,"5":2,"6":2,"7":2,"8":1,"9":1,"10":1,"11":1},"f":{"0":3},"b":{"0":[1,2],"1":[1,1]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/pages/projects/benefits-finder/[id].js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/pages/projects/benefits-finder/[id].js","statementMap":{"0":{"start":{"line":11,"column":24},"end":{"line":11,"column":46}},"1":{"start":{"line":86,"column":22},"end":{"line":86,"column":36}},"2":{"start":{"line":100,"column":13},"end":{"line":100,"column":27}},"3":{"start":{"line":1,"column":21},"end":{"line":1,"column":null}},"4":{"start":{"line":2,"column":39},"end":{"line":2,"column":null}},"5":{"start":{"line":3,"column":23},"end":{"line":3,"column":null}},"6":{"start":{"line":4,"column":36},"end":{"line":4,"column":null}},"7":{"start":{"line":5,"column":31},"end":{"line":5,"column":null}},"8":{"start":{"line":6,"column":32},"end":{"line":6,"column":null}},"9":{"start":{"line":7,"column":34},"end":{"line":7,"column":null}},"10":{"start":{"line":8,"column":27},"end":{"line":8,"column":null}},"11":{"start":{"line":9,"column":24},"end":{"line":9,"column":null}},"12":{"start":{"line":12,"column":21},"end":{"line":12,"column":null}},"13":{"start":{"line":13,"column":23},"end":{"line":13,"column":null}},"14":{"start":{"line":15,"column":2},"end":{"line":20,"column":null}},"15":{"start":{"line":16,"column":4},"end":{"line":19,"column":null}},"16":{"start":{"line":17,"column":6},"end":{"line":17,"column":null}},"17":{"start":{"line":18,"column":6},"end":{"line":18,"column":null}},"18":{"start":{"line":88,"column":19},"end":{"line":89,"column":null}},"19":{"start":{"line":92,"column":16},"end":{"line":92,"column":null}},"20":{"start":{"line":93,"column":2},"end":{"line":93,"column":null}},"21":{"start":{"line":93,"column":23},"end":{"line":93,"column":null}},"22":{"start":{"line":94,"column":2},"end":{"line":97,"column":null}},"23":{"start":{"line":100,"column":30},"end":{"line":135,"column":null}},"24":{"start":{"line":102,"column":19},"end":{"line":103,"column":null}},"25":{"start":{"line":106,"column":31},"end":{"line":107,"column":null}},"26":{"start":{"line":109,"column":16},"end":{"line":109,"column":43}},"27":{"start":{"line":111,"column":19},"end":{"line":117,"column":null}},"28":{"start":{"line":112,"column":4},"end":{"line":115,"column":null}},"29":{"start":{"line":119,"column":2},"end":{"line":123,"column":null}},"30":{"start":{"line":120,"column":4},"end":{"line":122,"column":null}},"31":{"start":{"line":125,"column":2},"end":{"line":134,"column":null}}},"fnMap":{"0":{"name":"BenefitFinderArticles","decl":{"start":{"line":11,"column":24},"end":{"line":11,"column":46}},"loc":{"start":{"line":11,"column":51},"end":{"line":84,"column":1}}},"1":{"name":"(anonymous_6)","decl":{"start":{"line":15,"column":12},"end":{"line":15,"column":null}},"loc":{"start":{"line":15,"column":12},"end":{"line":20,"column":5}}},"2":{"name":"getStaticPaths","decl":{"start":{"line":86,"column":22},"end":{"line":86,"column":36}},"loc":{"start":{"line":86,"column":22},"end":{"line":98,"column":null}}},"3":{"name":"(anonymous_8)","decl":{"start":{"line":93,"column":12},"end":{"line":93,"column":13}},"loc":{"start":{"line":93,"column":23},"end":{"line":93,"column":null}}},"4":{"name":"(anonymous_9)","decl":{"start":{"line":100,"column":30},"end":{"line":100,"column":37}},"loc":{"start":{"line":100,"column":55},"end":{"line":135,"column":null}}},"5":{"name":"(anonymous_10)","decl":{"start":{"line":111,"column":32},"end":{"line":111,"column":33}},"loc":{"start":{"line":111,"column":33},"end":{"line":117,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":16,"column":4},"end":{"line":19,"column":null}},"type":"if","locations":[{"start":{"line":16,"column":4},"end":{"line":19,"column":null}}]},"1":{"loc":{"start":{"line":17,"column":30},"end":{"line":17,"column":57}},"type":"binary-expr","locations":[{"start":{"line":17,"column":30},"end":{"line":17,"column":51}},{"start":{"line":17,"column":55},"end":{"line":17,"column":57}}]},"2":{"loc":{"start":{"line":27,"column":10},"end":{"line":27,"column":79}},"type":"cond-expr","locations":[{"start":{"line":27,"column":34},"end":{"line":27,"column":55}},{"start":{"line":27,"column":58},"end":{"line":27,"column":79}}]},"3":{"loc":{"start":{"line":42,"column":16},"end":{"line":42,"column":79}},"type":"cond-expr","locations":[{"start":{"line":42,"column":40},"end":{"line":42,"column":58}},{"start":{"line":42,"column":61},"end":{"line":42,"column":79}}]},"4":{"loc":{"start":{"line":48,"column":18},"end":{"line":48,"column":null}},"type":"cond-expr","locations":[{"start":{"line":48,"column":42},"end":{"line":48,"column":60}},{"start":{"line":48,"column":60},"end":{"line":48,"column":null}}]},"5":{"loc":{"start":{"line":51,"column":17},"end":{"line":53,"column":43}},"type":"cond-expr","locations":[{"start":{"line":52,"column":20},"end":{"line":52,"column":43}},{"start":{"line":53,"column":20},"end":{"line":53,"column":43}}]},"6":{"loc":{"start":{"line":60,"column":18},"end":{"line":60,"column":null}},"type":"cond-expr","locations":[{"start":{"line":60,"column":42},"end":{"line":60,"column":60}},{"start":{"line":60,"column":60},"end":{"line":60,"column":null}}]},"7":{"loc":{"start":{"line":63,"column":17},"end":{"line":65,"column":42}},"type":"cond-expr","locations":[{"start":{"line":64,"column":20},"end":{"line":64,"column":42}},{"start":{"line":65,"column":20},"end":{"line":65,"column":42}}]},"8":{"loc":{"start":{"line":113,"column":7},"end":{"line":113,"column":61}},"type":"cond-expr","locations":[{"start":{"line":113,"column":25},"end":{"line":113,"column":42}},{"start":{"line":113,"column":45},"end":{"line":113,"column":61}}]},"9":{"loc":{"start":{"line":119,"column":2},"end":{"line":123,"column":null}},"type":"if","locations":[{"start":{"line":119,"column":2},"end":{"line":123,"column":null}}]},"10":{"loc":{"start":{"line":119,"column":6},"end":{"line":119,"column":35}},"type":"binary-expr","locations":[{"start":{"line":119,"column":6},"end":{"line":119,"column":19}},{"start":{"line":119,"column":19},"end":{"line":119,"column":35}}]},"11":{"loc":{"start":{"line":130,"column":25},"end":{"line":130,"column":null}},"type":"binary-expr","locations":[{"start":{"line":130,"column":25},"end":{"line":130,"column":56}},{"start":{"line":130,"column":60},"end":{"line":130,"column":null}}]},"12":{"loc":{"start":{"line":133,"column":16},"end":{"line":133,"column":null}},"type":"cond-expr","locations":[{"start":{"line":133,"column":53},"end":{"line":133,"column":58}},{"start":{"line":133,"column":58},"end":{"line":133,"column":null}}]}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0],"10":[0,0],"11":[0,0],"12":[0,0]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/pages/projects/benefits-finder/index.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/pages/projects/benefits-finder/index.js","statementMap":{"0":{"start":{"line":15,"column":24},"end":{"line":15,"column":47}},"1":{"start":{"line":367,"column":13},"end":{"line":367,"column":27}},"2":{"start":{"line":1,"column":17},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":39},"end":{"line":2,"column":null}},"4":{"start":{"line":3,"column":23},"end":{"line":3,"column":null}},"5":{"start":{"line":4,"column":36},"end":{"line":4,"column":null}},"6":{"start":{"line":5,"column":31},"end":{"line":5,"column":null}},"7":{"start":{"line":6,"column":28},"end":{"line":6,"column":null}},"8":{"start":{"line":7,"column":17},"end":{"line":7,"column":null}},"9":{"start":{"line":8,"column":34},"end":{"line":8,"column":null}},"10":{"start":{"line":9,"column":24},"end":{"line":9,"column":null}},"11":{"start":{"line":10,"column":18},"end":{"line":10,"column":null}},"12":{"start":{"line":11,"column":28},"end":{"line":11,"column":null}},"13":{"start":{"line":12,"column":34},"end":{"line":12,"column":null}},"14":{"start":{"line":13,"column":27},"end":{"line":13,"column":null}},"15":{"start":{"line":16,"column":21},"end":{"line":16,"column":null}},"16":{"start":{"line":17,"column":22},"end":{"line":17,"column":null}},"17":{"start":{"line":18,"column":31},"end":{"line":24,"column":null}},"18":{"start":{"line":21,"column":8},"end":{"line":24,"column":null}},"19":{"start":{"line":28,"column":32},"end":{"line":29,"column":26}},"20":{"start":{"line":29,"column":4},"end":{"line":29,"column":26}},"21":{"start":{"line":55,"column":2},"end":{"line":60,"column":null}},"22":{"start":{"line":56,"column":4},"end":{"line":59,"column":null}},"23":{"start":{"line":57,"column":6},"end":{"line":57,"column":null}},"24":{"start":{"line":58,"column":6},"end":{"line":58,"column":null}},"25":{"start":{"line":367,"column":30},"end":{"line":388,"column":null}},"26":{"start":{"line":369,"column":29},"end":{"line":370,"column":null}},"27":{"start":{"line":373,"column":31},"end":{"line":374,"column":null}},"28":{"start":{"line":377,"column":2},"end":{"line":387,"column":null}}},"fnMap":{"0":{"name":"BenefitsFinderOverview","decl":{"start":{"line":15,"column":24},"end":{"line":15,"column":47}},"loc":{"start":{"line":15,"column":52},"end":{"line":365,"column":1}}},"1":{"name":"(anonymous_5)","decl":{"start":{"line":20,"column":6},"end":{"line":20,"column":7}},"loc":{"start":{"line":21,"column":8},"end":{"line":24,"column":null}}},"2":{"name":"(anonymous_6)","decl":{"start":{"line":28,"column":48},"end":{"line":28,"column":49}},"loc":{"start":{"line":29,"column":4},"end":{"line":29,"column":26}}},"3":{"name":"(anonymous_7)","decl":{"start":{"line":55,"column":12},"end":{"line":55,"column":null}},"loc":{"start":{"line":55,"column":12},"end":{"line":60,"column":5}}},"4":{"name":"(anonymous_8)","decl":{"start":{"line":367,"column":30},"end":{"line":367,"column":37}},"loc":{"start":{"line":367,"column":47},"end":{"line":388,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":21,"column":8},"end":{"line":24,"column":null}},"type":"binary-expr","locations":[{"start":{"line":21,"column":8},"end":{"line":21,"column":null}},{"start":{"line":22,"column":8},"end":{"line":22,"column":null}},{"start":{"line":23,"column":8},"end":{"line":23,"column":null}},{"start":{"line":24,"column":8},"end":{"line":24,"column":null}}]},"1":{"loc":{"start":{"line":33,"column":10},"end":{"line":35,"column":74}},"type":"cond-expr","locations":[{"start":{"line":34,"column":14},"end":{"line":34,"column":74}},{"start":{"line":35,"column":14},"end":{"line":35,"column":74}}]},"2":{"loc":{"start":{"line":38,"column":10},"end":{"line":40,"column":48}},"type":"cond-expr","locations":[{"start":{"line":39,"column":14},"end":{"line":39,"column":48}},{"start":{"line":40,"column":14},"end":{"line":40,"column":48}}]},"3":{"loc":{"start":{"line":44,"column":15},"end":{"line":44,"column":74}},"type":"cond-expr","locations":[{"start":{"line":44,"column":39},"end":{"line":44,"column":55}},{"start":{"line":44,"column":58},"end":{"line":44,"column":74}}]},"4":{"loc":{"start":{"line":45,"column":14},"end":{"line":45,"column":79}},"type":"cond-expr","locations":[{"start":{"line":45,"column":38},"end":{"line":45,"column":57}},{"start":{"line":45,"column":60},"end":{"line":45,"column":79}}]},"5":{"loc":{"start":{"line":47,"column":10},"end":{"line":49,"column":49}},"type":"cond-expr","locations":[{"start":{"line":48,"column":14},"end":{"line":48,"column":49}},{"start":{"line":49,"column":14},"end":{"line":49,"column":49}}]},"6":{"loc":{"start":{"line":56,"column":4},"end":{"line":59,"column":null}},"type":"if","locations":[{"start":{"line":56,"column":4},"end":{"line":59,"column":null}}]},"7":{"loc":{"start":{"line":57,"column":30},"end":{"line":57,"column":57}},"type":"binary-expr","locations":[{"start":{"line":57,"column":30},"end":{"line":57,"column":51}},{"start":{"line":57,"column":55},"end":{"line":57,"column":57}}]},"8":{"loc":{"start":{"line":67,"column":10},"end":{"line":67,"column":79}},"type":"cond-expr","locations":[{"start":{"line":67,"column":34},"end":{"line":67,"column":55}},{"start":{"line":67,"column":58},"end":{"line":67,"column":79}}]},"9":{"loc":{"start":{"line":78,"column":13},"end":{"line":80,"column":72}},"type":"cond-expr","locations":[{"start":{"line":79,"column":16},"end":{"line":79,"column":61}},{"start":{"line":80,"column":16},"end":{"line":80,"column":72}}]},"10":{"loc":{"start":{"line":85,"column":14},"end":{"line":87,"column":67}},"type":"cond-expr","locations":[{"start":{"line":86,"column":18},"end":{"line":86,"column":67}},{"start":{"line":87,"column":18},"end":{"line":87,"column":67}}]},"11":{"loc":{"start":{"line":97,"column":16},"end":{"line":99,"column":41}},"type":"cond-expr","locations":[{"start":{"line":98,"column":20},"end":{"line":98,"column":41}},{"start":{"line":99,"column":20},"end":{"line":99,"column":41}}]},"12":{"loc":{"start":{"line":107,"column":14},"end":{"line":109,"column":39}},"type":"cond-expr","locations":[{"start":{"line":108,"column":18},"end":{"line":108,"column":39}},{"start":{"line":109,"column":18},"end":{"line":109,"column":39}}]},"13":{"loc":{"start":{"line":117,"column":14},"end":{"line":117,"column":77}},"type":"cond-expr","locations":[{"start":{"line":117,"column":38},"end":{"line":117,"column":56}},{"start":{"line":117,"column":59},"end":{"line":117,"column":77}}]},"14":{"loc":{"start":{"line":122,"column":21},"end":{"line":122,"column":null}},"type":"cond-expr","locations":[{"start":{"line":122,"column":45},"end":{"line":122,"column":53}},{"start":{"line":122,"column":53},"end":{"line":122,"column":null}}]},"15":{"loc":{"start":{"line":128,"column":14},"end":{"line":130,"column":null}},"type":"cond-expr","locations":[{"start":{"line":129,"column":18},"end":{"line":129,"column":null}},{"start":{"line":130,"column":18},"end":{"line":130,"column":null}}]},"16":{"loc":{"start":{"line":144,"column":14},"end":{"line":146,"column":67}},"type":"cond-expr","locations":[{"start":{"line":145,"column":18},"end":{"line":145,"column":67}},{"start":{"line":146,"column":18},"end":{"line":146,"column":67}}]},"17":{"loc":{"start":{"line":164,"column":16},"end":{"line":166,"column":41}},"type":"cond-expr","locations":[{"start":{"line":165,"column":20},"end":{"line":165,"column":41}},{"start":{"line":166,"column":20},"end":{"line":166,"column":41}}]},"18":{"loc":{"start":{"line":173,"column":14},"end":{"line":173,"column":77}},"type":"cond-expr","locations":[{"start":{"line":173,"column":38},"end":{"line":173,"column":56}},{"start":{"line":173,"column":59},"end":{"line":173,"column":77}}]},"19":{"loc":{"start":{"line":179,"column":14},"end":{"line":181,"column":67}},"type":"cond-expr","locations":[{"start":{"line":180,"column":18},"end":{"line":180,"column":67}},{"start":{"line":181,"column":18},"end":{"line":181,"column":67}}]},"20":{"loc":{"start":{"line":191,"column":14},"end":{"line":193,"column":58}},"type":"cond-expr","locations":[{"start":{"line":192,"column":18},"end":{"line":192,"column":58}},{"start":{"line":193,"column":18},"end":{"line":193,"column":58}}]},"21":{"loc":{"start":{"line":204,"column":16},"end":{"line":206,"column":41}},"type":"cond-expr","locations":[{"start":{"line":205,"column":20},"end":{"line":205,"column":41}},{"start":{"line":206,"column":20},"end":{"line":206,"column":41}}]},"22":{"loc":{"start":{"line":213,"column":14},"end":{"line":213,"column":77}},"type":"cond-expr","locations":[{"start":{"line":213,"column":38},"end":{"line":213,"column":56}},{"start":{"line":213,"column":59},"end":{"line":213,"column":77}}]},"23":{"loc":{"start":{"line":220,"column":14},"end":{"line":222,"column":67}},"type":"cond-expr","locations":[{"start":{"line":221,"column":18},"end":{"line":221,"column":67}},{"start":{"line":222,"column":18},"end":{"line":222,"column":67}}]},"24":{"loc":{"start":{"line":232,"column":14},"end":{"line":234,"column":58}},"type":"cond-expr","locations":[{"start":{"line":233,"column":18},"end":{"line":233,"column":58}},{"start":{"line":234,"column":18},"end":{"line":234,"column":58}}]},"25":{"loc":{"start":{"line":247,"column":20},"end":{"line":249,"column":42}},"type":"cond-expr","locations":[{"start":{"line":248,"column":24},"end":{"line":248,"column":42}},{"start":{"line":249,"column":24},"end":{"line":249,"column":42}}]},"26":{"loc":{"start":{"line":258,"column":24},"end":{"line":260,"column":73}},"type":"cond-expr","locations":[{"start":{"line":259,"column":28},"end":{"line":259,"column":73}},{"start":{"line":260,"column":28},"end":{"line":260,"column":73}}]},"27":{"loc":{"start":{"line":263,"column":24},"end":{"line":265,"column":68}},"type":"cond-expr","locations":[{"start":{"line":264,"column":28},"end":{"line":264,"column":68}},{"start":{"line":265,"column":28},"end":{"line":265,"column":68}}]},"28":{"loc":{"start":{"line":277,"column":17},"end":{"line":280,"column":28}},"type":"cond-expr","locations":[{"start":{"line":278,"column":20},"end":{"line":278,"column":80}},{"start":{"line":279,"column":20},"end":{"line":280,"column":28}}]},"29":{"loc":{"start":{"line":286,"column":20},"end":{"line":288,"column":54}},"type":"cond-expr","locations":[{"start":{"line":287,"column":24},"end":{"line":287,"column":54}},{"start":{"line":288,"column":24},"end":{"line":288,"column":54}}]},"30":{"loc":{"start":{"line":291,"column":20},"end":{"line":293,"column":54}},"type":"cond-expr","locations":[{"start":{"line":292,"column":24},"end":{"line":292,"column":54}},{"start":{"line":293,"column":24},"end":{"line":293,"column":54}}]},"31":{"loc":{"start":{"line":296,"column":20},"end":{"line":298,"column":54}},"type":"cond-expr","locations":[{"start":{"line":297,"column":24},"end":{"line":297,"column":54}},{"start":{"line":298,"column":24},"end":{"line":298,"column":54}}]},"32":{"loc":{"start":{"line":304,"column":20},"end":{"line":308,"column":null}},"type":"cond-expr","locations":[{"start":{"line":305,"column":24},"end":{"line":306,"column":null}},{"start":{"line":307,"column":24},"end":{"line":308,"column":null}}]},"33":{"loc":{"start":{"line":311,"column":20},"end":{"line":315,"column":32}},"type":"cond-expr","locations":[{"start":{"line":312,"column":24},"end":{"line":313,"column":32}},{"start":{"line":314,"column":24},"end":{"line":315,"column":32}}]},"34":{"loc":{"start":{"line":318,"column":20},"end":{"line":320,"column":57}},"type":"cond-expr","locations":[{"start":{"line":319,"column":24},"end":{"line":319,"column":57}},{"start":{"line":320,"column":24},"end":{"line":320,"column":57}}]},"35":{"loc":{"start":{"line":323,"column":20},"end":{"line":325,"column":70}},"type":"cond-expr","locations":[{"start":{"line":324,"column":24},"end":{"line":324,"column":70}},{"start":{"line":325,"column":24},"end":{"line":325,"column":70}}]},"36":{"loc":{"start":{"line":328,"column":20},"end":{"line":330,"column":79}},"type":"cond-expr","locations":[{"start":{"line":329,"column":24},"end":{"line":329,"column":79}},{"start":{"line":330,"column":24},"end":{"line":330,"column":79}}]},"37":{"loc":{"start":{"line":335,"column":17},"end":{"line":338,"column":28}},"type":"cond-expr","locations":[{"start":{"line":336,"column":20},"end":{"line":336,"column":80}},{"start":{"line":337,"column":20},"end":{"line":338,"column":28}}]},"38":{"loc":{"start":{"line":349,"column":38},"end":{"line":349,"column":null}},"type":"cond-expr","locations":[{"start":{"line":349,"column":38},"end":{"line":349,"column":null}}]},"39":{"loc":{"start":{"line":352,"column":17},"end":{"line":354,"column":null}},"type":"cond-expr","locations":[{"start":{"line":353,"column":20},"end":{"line":353,"column":null}},{"start":{"line":354,"column":20},"end":{"line":354,"column":null}}]},"40":{"loc":{"start":{"line":380,"column":25},"end":{"line":380,"column":null}},"type":"binary-expr","locations":[{"start":{"line":380,"column":25},"end":{"line":380,"column":56}},{"start":{"line":380,"column":60},"end":{"line":380,"column":null}}]},"41":{"loc":{"start":{"line":386,"column":16},"end":{"line":386,"column":null}},"type":"cond-expr","locations":[{"start":{"line":386,"column":53},"end":{"line":386,"column":58}},{"start":{"line":386,"column":58},"end":{"line":386,"column":null}}]}},"s":{"0":1,"1":0,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":2,"16":1,"17":1,"18":21,"19":1,"20":2,"21":1,"22":1,"23":0,"24":0,"25":1,"26":0,"27":0,"28":0},"f":{"0":2,"1":21,"2":2,"3":1,"4":0},"b":{"0":[21,20,19,18],"1":[0,2],"2":[0,2],"3":[0,2],"4":[0,2],"5":[0,2],"6":[0],"7":[0,0],"8":[0,1],"9":[0,1],"10":[0,1],"11":[0,1],"12":[0,1],"13":[0,1],"14":[0,1],"15":[0,1],"16":[0,1],"17":[0,1],"18":[0,1],"19":[0,1],"20":[0,1],"21":[0,1],"22":[0,1],"23":[0,1],"24":[0,1],"25":[0,1],"26":[0,1],"27":[0,1],"28":[0,1],"29":[0,1],"30":[0,1],"31":[0,1],"32":[0,1],"33":[0,1],"34":[0,1],"35":[0,1],"36":[0,1],"37":[0,1],"38":[0],"39":[0,1],"40":[0,0],"41":[0,0]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/pages/projects/benefits-navigator/[id].js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/pages/projects/benefits-navigator/[id].js","statementMap":{"0":{"start":{"line":11,"column":24},"end":{"line":11,"column":49}},"1":{"start":{"line":86,"column":22},"end":{"line":86,"column":36}},"2":{"start":{"line":100,"column":13},"end":{"line":100,"column":27}},"3":{"start":{"line":1,"column":21},"end":{"line":1,"column":null}},"4":{"start":{"line":2,"column":39},"end":{"line":2,"column":null}},"5":{"start":{"line":3,"column":23},"end":{"line":3,"column":null}},"6":{"start":{"line":4,"column":36},"end":{"line":4,"column":null}},"7":{"start":{"line":5,"column":31},"end":{"line":5,"column":null}},"8":{"start":{"line":6,"column":32},"end":{"line":6,"column":null}},"9":{"start":{"line":7,"column":34},"end":{"line":7,"column":null}},"10":{"start":{"line":8,"column":27},"end":{"line":8,"column":null}},"11":{"start":{"line":9,"column":24},"end":{"line":9,"column":null}},"12":{"start":{"line":12,"column":21},"end":{"line":12,"column":null}},"13":{"start":{"line":13,"column":23},"end":{"line":13,"column":null}},"14":{"start":{"line":15,"column":2},"end":{"line":20,"column":null}},"15":{"start":{"line":16,"column":4},"end":{"line":19,"column":null}},"16":{"start":{"line":17,"column":6},"end":{"line":17,"column":null}},"17":{"start":{"line":18,"column":6},"end":{"line":18,"column":null}},"18":{"start":{"line":88,"column":19},"end":{"line":89,"column":null}},"19":{"start":{"line":92,"column":16},"end":{"line":92,"column":null}},"20":{"start":{"line":93,"column":2},"end":{"line":93,"column":null}},"21":{"start":{"line":93,"column":23},"end":{"line":93,"column":null}},"22":{"start":{"line":94,"column":2},"end":{"line":97,"column":null}},"23":{"start":{"line":100,"column":30},"end":{"line":135,"column":null}},"24":{"start":{"line":102,"column":19},"end":{"line":103,"column":null}},"25":{"start":{"line":106,"column":31},"end":{"line":107,"column":null}},"26":{"start":{"line":109,"column":16},"end":{"line":109,"column":43}},"27":{"start":{"line":111,"column":19},"end":{"line":117,"column":null}},"28":{"start":{"line":112,"column":4},"end":{"line":115,"column":null}},"29":{"start":{"line":119,"column":2},"end":{"line":123,"column":null}},"30":{"start":{"line":120,"column":4},"end":{"line":122,"column":null}},"31":{"start":{"line":125,"column":2},"end":{"line":134,"column":null}}},"fnMap":{"0":{"name":"BenefitNavigatorArticles","decl":{"start":{"line":11,"column":24},"end":{"line":11,"column":49}},"loc":{"start":{"line":11,"column":54},"end":{"line":84,"column":1}}},"1":{"name":"(anonymous_6)","decl":{"start":{"line":15,"column":12},"end":{"line":15,"column":null}},"loc":{"start":{"line":15,"column":12},"end":{"line":20,"column":5}}},"2":{"name":"getStaticPaths","decl":{"start":{"line":86,"column":22},"end":{"line":86,"column":36}},"loc":{"start":{"line":86,"column":22},"end":{"line":98,"column":null}}},"3":{"name":"(anonymous_8)","decl":{"start":{"line":93,"column":12},"end":{"line":93,"column":13}},"loc":{"start":{"line":93,"column":23},"end":{"line":93,"column":null}}},"4":{"name":"(anonymous_9)","decl":{"start":{"line":100,"column":30},"end":{"line":100,"column":37}},"loc":{"start":{"line":100,"column":55},"end":{"line":135,"column":null}}},"5":{"name":"(anonymous_10)","decl":{"start":{"line":111,"column":32},"end":{"line":111,"column":33}},"loc":{"start":{"line":111,"column":33},"end":{"line":117,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":16,"column":4},"end":{"line":19,"column":null}},"type":"if","locations":[{"start":{"line":16,"column":4},"end":{"line":19,"column":null}}]},"1":{"loc":{"start":{"line":17,"column":30},"end":{"line":17,"column":57}},"type":"binary-expr","locations":[{"start":{"line":17,"column":30},"end":{"line":17,"column":51}},{"start":{"line":17,"column":55},"end":{"line":17,"column":57}}]},"2":{"loc":{"start":{"line":27,"column":10},"end":{"line":27,"column":79}},"type":"cond-expr","locations":[{"start":{"line":27,"column":34},"end":{"line":27,"column":55}},{"start":{"line":27,"column":58},"end":{"line":27,"column":79}}]},"3":{"loc":{"start":{"line":42,"column":16},"end":{"line":42,"column":79}},"type":"cond-expr","locations":[{"start":{"line":42,"column":40},"end":{"line":42,"column":58}},{"start":{"line":42,"column":61},"end":{"line":42,"column":79}}]},"4":{"loc":{"start":{"line":48,"column":18},"end":{"line":48,"column":null}},"type":"cond-expr","locations":[{"start":{"line":48,"column":42},"end":{"line":48,"column":60}},{"start":{"line":48,"column":60},"end":{"line":48,"column":null}}]},"5":{"loc":{"start":{"line":51,"column":17},"end":{"line":53,"column":43}},"type":"cond-expr","locations":[{"start":{"line":52,"column":20},"end":{"line":52,"column":43}},{"start":{"line":53,"column":20},"end":{"line":53,"column":43}}]},"6":{"loc":{"start":{"line":60,"column":18},"end":{"line":60,"column":null}},"type":"cond-expr","locations":[{"start":{"line":60,"column":42},"end":{"line":60,"column":60}},{"start":{"line":60,"column":60},"end":{"line":60,"column":null}}]},"7":{"loc":{"start":{"line":63,"column":17},"end":{"line":65,"column":42}},"type":"cond-expr","locations":[{"start":{"line":64,"column":20},"end":{"line":64,"column":42}},{"start":{"line":65,"column":20},"end":{"line":65,"column":42}}]},"8":{"loc":{"start":{"line":113,"column":7},"end":{"line":113,"column":61}},"type":"cond-expr","locations":[{"start":{"line":113,"column":25},"end":{"line":113,"column":42}},{"start":{"line":113,"column":45},"end":{"line":113,"column":61}}]},"9":{"loc":{"start":{"line":119,"column":2},"end":{"line":123,"column":null}},"type":"if","locations":[{"start":{"line":119,"column":2},"end":{"line":123,"column":null}}]},"10":{"loc":{"start":{"line":119,"column":6},"end":{"line":119,"column":35}},"type":"binary-expr","locations":[{"start":{"line":119,"column":6},"end":{"line":119,"column":19}},{"start":{"line":119,"column":19},"end":{"line":119,"column":35}}]},"11":{"loc":{"start":{"line":130,"column":25},"end":{"line":130,"column":null}},"type":"binary-expr","locations":[{"start":{"line":130,"column":25},"end":{"line":130,"column":56}},{"start":{"line":130,"column":60},"end":{"line":130,"column":null}}]},"12":{"loc":{"start":{"line":133,"column":16},"end":{"line":133,"column":null}},"type":"cond-expr","locations":[{"start":{"line":133,"column":53},"end":{"line":133,"column":58}},{"start":{"line":133,"column":58},"end":{"line":133,"column":null}}]}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0],"10":[0,0],"11":[0,0],"12":[0,0]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/pages/projects/benefits-navigator/index.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/pages/projects/benefits-navigator/index.js","statementMap":{"0":{"start":{"line":17,"column":24},"end":{"line":17,"column":50}},"1":{"start":{"line":632,"column":13},"end":{"line":632,"column":27}},"2":{"start":{"line":1,"column":17},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":39},"end":{"line":2,"column":null}},"4":{"start":{"line":3,"column":23},"end":{"line":3,"column":null}},"5":{"start":{"line":4,"column":36},"end":{"line":4,"column":null}},"6":{"start":{"line":5,"column":31},"end":{"line":5,"column":null}},"7":{"start":{"line":6,"column":28},"end":{"line":6,"column":null}},"8":{"start":{"line":7,"column":17},"end":{"line":7,"column":null}},"9":{"start":{"line":8,"column":34},"end":{"line":8,"column":null}},"10":{"start":{"line":9,"column":24},"end":{"line":9,"column":null}},"11":{"start":{"line":10,"column":25},"end":{"line":10,"column":null}},"12":{"start":{"line":11,"column":18},"end":{"line":11,"column":null}},"13":{"start":{"line":12,"column":28},"end":{"line":12,"column":null}},"14":{"start":{"line":13,"column":23},"end":{"line":13,"column":null}},"15":{"start":{"line":14,"column":34},"end":{"line":14,"column":null}},"16":{"start":{"line":15,"column":32},"end":{"line":15,"column":null}},"17":{"start":{"line":18,"column":21},"end":{"line":18,"column":null}},"18":{"start":{"line":19,"column":22},"end":{"line":19,"column":null}},"19":{"start":{"line":20,"column":31},"end":{"line":26,"column":null}},"20":{"start":{"line":23,"column":8},"end":{"line":26,"column":null}},"21":{"start":{"line":30,"column":32},"end":{"line":31,"column":26}},"22":{"start":{"line":31,"column":4},"end":{"line":31,"column":26}},"23":{"start":{"line":57,"column":2},"end":{"line":62,"column":null}},"24":{"start":{"line":58,"column":4},"end":{"line":61,"column":null}},"25":{"start":{"line":59,"column":6},"end":{"line":59,"column":null}},"26":{"start":{"line":60,"column":6},"end":{"line":60,"column":null}},"27":{"start":{"line":632,"column":30},"end":{"line":653,"column":null}},"28":{"start":{"line":634,"column":29},"end":{"line":635,"column":null}},"29":{"start":{"line":638,"column":31},"end":{"line":639,"column":null}},"30":{"start":{"line":642,"column":2},"end":{"line":652,"column":null}}},"fnMap":{"0":{"name":"BenefitsNavigatorOverview","decl":{"start":{"line":17,"column":24},"end":{"line":17,"column":50}},"loc":{"start":{"line":17,"column":55},"end":{"line":630,"column":1}}},"1":{"name":"(anonymous_5)","decl":{"start":{"line":22,"column":6},"end":{"line":22,"column":7}},"loc":{"start":{"line":23,"column":8},"end":{"line":26,"column":null}}},"2":{"name":"(anonymous_6)","decl":{"start":{"line":30,"column":48},"end":{"line":30,"column":49}},"loc":{"start":{"line":31,"column":4},"end":{"line":31,"column":26}}},"3":{"name":"(anonymous_7)","decl":{"start":{"line":57,"column":12},"end":{"line":57,"column":null}},"loc":{"start":{"line":57,"column":12},"end":{"line":62,"column":5}}},"4":{"name":"(anonymous_8)","decl":{"start":{"line":632,"column":30},"end":{"line":632,"column":37}},"loc":{"start":{"line":632,"column":47},"end":{"line":653,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":23,"column":8},"end":{"line":26,"column":null}},"type":"binary-expr","locations":[{"start":{"line":23,"column":8},"end":{"line":23,"column":null}},{"start":{"line":24,"column":8},"end":{"line":24,"column":null}},{"start":{"line":25,"column":8},"end":{"line":25,"column":null}},{"start":{"line":26,"column":8},"end":{"line":26,"column":null}}]},"1":{"loc":{"start":{"line":35,"column":10},"end":{"line":37,"column":74}},"type":"cond-expr","locations":[{"start":{"line":36,"column":14},"end":{"line":36,"column":74}},{"start":{"line":37,"column":14},"end":{"line":37,"column":74}}]},"2":{"loc":{"start":{"line":40,"column":10},"end":{"line":42,"column":48}},"type":"cond-expr","locations":[{"start":{"line":41,"column":14},"end":{"line":41,"column":48}},{"start":{"line":42,"column":14},"end":{"line":42,"column":48}}]},"3":{"loc":{"start":{"line":46,"column":15},"end":{"line":46,"column":74}},"type":"cond-expr","locations":[{"start":{"line":46,"column":39},"end":{"line":46,"column":55}},{"start":{"line":46,"column":58},"end":{"line":46,"column":74}}]},"4":{"loc":{"start":{"line":47,"column":14},"end":{"line":47,"column":79}},"type":"cond-expr","locations":[{"start":{"line":47,"column":38},"end":{"line":47,"column":57}},{"start":{"line":47,"column":60},"end":{"line":47,"column":79}}]},"5":{"loc":{"start":{"line":49,"column":10},"end":{"line":51,"column":49}},"type":"cond-expr","locations":[{"start":{"line":50,"column":14},"end":{"line":50,"column":49}},{"start":{"line":51,"column":14},"end":{"line":51,"column":49}}]},"6":{"loc":{"start":{"line":58,"column":4},"end":{"line":61,"column":null}},"type":"if","locations":[{"start":{"line":58,"column":4},"end":{"line":61,"column":null}}]},"7":{"loc":{"start":{"line":59,"column":30},"end":{"line":59,"column":57}},"type":"binary-expr","locations":[{"start":{"line":59,"column":30},"end":{"line":59,"column":51}},{"start":{"line":59,"column":55},"end":{"line":59,"column":57}}]},"8":{"loc":{"start":{"line":69,"column":10},"end":{"line":69,"column":79}},"type":"cond-expr","locations":[{"start":{"line":69,"column":34},"end":{"line":69,"column":55}},{"start":{"line":69,"column":58},"end":{"line":69,"column":79}}]},"9":{"loc":{"start":{"line":80,"column":13},"end":{"line":82,"column":72}},"type":"cond-expr","locations":[{"start":{"line":81,"column":16},"end":{"line":81,"column":61}},{"start":{"line":82,"column":16},"end":{"line":82,"column":72}}]},"10":{"loc":{"start":{"line":87,"column":14},"end":{"line":89,"column":67}},"type":"cond-expr","locations":[{"start":{"line":88,"column":18},"end":{"line":88,"column":67}},{"start":{"line":89,"column":18},"end":{"line":89,"column":67}}]},"11":{"loc":{"start":{"line":99,"column":16},"end":{"line":101,"column":41}},"type":"cond-expr","locations":[{"start":{"line":100,"column":20},"end":{"line":100,"column":41}},{"start":{"line":101,"column":20},"end":{"line":101,"column":41}}]},"12":{"loc":{"start":{"line":109,"column":14},"end":{"line":111,"column":39}},"type":"cond-expr","locations":[{"start":{"line":110,"column":18},"end":{"line":110,"column":39}},{"start":{"line":111,"column":18},"end":{"line":111,"column":39}}]},"13":{"loc":{"start":{"line":119,"column":14},"end":{"line":119,"column":77}},"type":"cond-expr","locations":[{"start":{"line":119,"column":38},"end":{"line":119,"column":56}},{"start":{"line":119,"column":59},"end":{"line":119,"column":77}}]},"14":{"loc":{"start":{"line":124,"column":21},"end":{"line":124,"column":null}},"type":"cond-expr","locations":[{"start":{"line":124,"column":45},"end":{"line":124,"column":53}},{"start":{"line":124,"column":53},"end":{"line":124,"column":null}}]},"15":{"loc":{"start":{"line":130,"column":14},"end":{"line":132,"column":null}},"type":"cond-expr","locations":[{"start":{"line":131,"column":18},"end":{"line":131,"column":null}},{"start":{"line":132,"column":18},"end":{"line":132,"column":null}}]},"16":{"loc":{"start":{"line":146,"column":14},"end":{"line":148,"column":67}},"type":"cond-expr","locations":[{"start":{"line":147,"column":18},"end":{"line":147,"column":67}},{"start":{"line":148,"column":18},"end":{"line":148,"column":67}}]},"17":{"loc":{"start":{"line":166,"column":16},"end":{"line":168,"column":41}},"type":"cond-expr","locations":[{"start":{"line":167,"column":20},"end":{"line":167,"column":41}},{"start":{"line":168,"column":20},"end":{"line":168,"column":41}}]},"18":{"loc":{"start":{"line":175,"column":14},"end":{"line":175,"column":77}},"type":"cond-expr","locations":[{"start":{"line":175,"column":38},"end":{"line":175,"column":56}},{"start":{"line":175,"column":59},"end":{"line":175,"column":77}}]},"19":{"loc":{"start":{"line":181,"column":14},"end":{"line":183,"column":67}},"type":"cond-expr","locations":[{"start":{"line":182,"column":18},"end":{"line":182,"column":67}},{"start":{"line":183,"column":18},"end":{"line":183,"column":67}}]},"20":{"loc":{"start":{"line":193,"column":14},"end":{"line":195,"column":58}},"type":"cond-expr","locations":[{"start":{"line":194,"column":18},"end":{"line":194,"column":58}},{"start":{"line":195,"column":18},"end":{"line":195,"column":58}}]},"21":{"loc":{"start":{"line":206,"column":16},"end":{"line":208,"column":41}},"type":"cond-expr","locations":[{"start":{"line":207,"column":20},"end":{"line":207,"column":41}},{"start":{"line":208,"column":20},"end":{"line":208,"column":41}}]},"22":{"loc":{"start":{"line":215,"column":14},"end":{"line":215,"column":77}},"type":"cond-expr","locations":[{"start":{"line":215,"column":38},"end":{"line":215,"column":56}},{"start":{"line":215,"column":59},"end":{"line":215,"column":77}}]},"23":{"loc":{"start":{"line":222,"column":14},"end":{"line":224,"column":67}},"type":"cond-expr","locations":[{"start":{"line":223,"column":18},"end":{"line":223,"column":67}},{"start":{"line":224,"column":18},"end":{"line":224,"column":67}}]},"24":{"loc":{"start":{"line":234,"column":14},"end":{"line":236,"column":58}},"type":"cond-expr","locations":[{"start":{"line":235,"column":18},"end":{"line":235,"column":58}},{"start":{"line":236,"column":18},"end":{"line":236,"column":58}}]},"25":{"loc":{"start":{"line":249,"column":20},"end":{"line":251,"column":42}},"type":"cond-expr","locations":[{"start":{"line":250,"column":24},"end":{"line":250,"column":42}},{"start":{"line":251,"column":24},"end":{"line":251,"column":42}}]},"26":{"loc":{"start":{"line":259,"column":22},"end":{"line":261,"column":59}},"type":"cond-expr","locations":[{"start":{"line":260,"column":26},"end":{"line":260,"column":59}},{"start":{"line":261,"column":26},"end":{"line":261,"column":59}}]},"27":{"loc":{"start":{"line":266,"column":26},"end":{"line":268,"column":70}},"type":"cond-expr","locations":[{"start":{"line":267,"column":30},"end":{"line":267,"column":70}},{"start":{"line":268,"column":30},"end":{"line":268,"column":70}}]},"28":{"loc":{"start":{"line":282,"column":24},"end":{"line":284,"column":73}},"type":"cond-expr","locations":[{"start":{"line":283,"column":28},"end":{"line":283,"column":73}},{"start":{"line":284,"column":28},"end":{"line":284,"column":73}}]},"29":{"loc":{"start":{"line":287,"column":24},"end":{"line":289,"column":68}},"type":"cond-expr","locations":[{"start":{"line":288,"column":28},"end":{"line":288,"column":68}},{"start":{"line":289,"column":28},"end":{"line":289,"column":68}}]},"30":{"loc":{"start":{"line":301,"column":17},"end":{"line":304,"column":28}},"type":"cond-expr","locations":[{"start":{"line":302,"column":20},"end":{"line":302,"column":80}},{"start":{"line":303,"column":20},"end":{"line":304,"column":28}}]},"31":{"loc":{"start":{"line":310,"column":20},"end":{"line":312,"column":54}},"type":"cond-expr","locations":[{"start":{"line":311,"column":24},"end":{"line":311,"column":54}},{"start":{"line":312,"column":24},"end":{"line":312,"column":54}}]},"32":{"loc":{"start":{"line":315,"column":20},"end":{"line":317,"column":54}},"type":"cond-expr","locations":[{"start":{"line":316,"column":24},"end":{"line":316,"column":54}},{"start":{"line":317,"column":24},"end":{"line":317,"column":54}}]},"33":{"loc":{"start":{"line":320,"column":20},"end":{"line":322,"column":54}},"type":"cond-expr","locations":[{"start":{"line":321,"column":24},"end":{"line":321,"column":54}},{"start":{"line":322,"column":24},"end":{"line":322,"column":54}}]},"34":{"loc":{"start":{"line":328,"column":20},"end":{"line":332,"column":null}},"type":"cond-expr","locations":[{"start":{"line":329,"column":24},"end":{"line":330,"column":null}},{"start":{"line":331,"column":24},"end":{"line":332,"column":null}}]},"35":{"loc":{"start":{"line":335,"column":20},"end":{"line":339,"column":32}},"type":"cond-expr","locations":[{"start":{"line":336,"column":24},"end":{"line":337,"column":32}},{"start":{"line":338,"column":24},"end":{"line":339,"column":32}}]},"36":{"loc":{"start":{"line":342,"column":20},"end":{"line":344,"column":57}},"type":"cond-expr","locations":[{"start":{"line":343,"column":24},"end":{"line":343,"column":57}},{"start":{"line":344,"column":24},"end":{"line":344,"column":57}}]},"37":{"loc":{"start":{"line":347,"column":20},"end":{"line":349,"column":70}},"type":"cond-expr","locations":[{"start":{"line":348,"column":24},"end":{"line":348,"column":70}},{"start":{"line":349,"column":24},"end":{"line":349,"column":70}}]},"38":{"loc":{"start":{"line":352,"column":20},"end":{"line":356,"column":32}},"type":"cond-expr","locations":[{"start":{"line":353,"column":24},"end":{"line":354,"column":32}},{"start":{"line":355,"column":24},"end":{"line":356,"column":32}}]},"39":{"loc":{"start":{"line":364,"column":15},"end":{"line":366,"column":78}},"type":"cond-expr","locations":[{"start":{"line":365,"column":18},"end":{"line":365,"column":78}},{"start":{"line":366,"column":18},"end":{"line":366,"column":78}}]},"40":{"loc":{"start":{"line":369,"column":15},"end":{"line":371,"column":78}},"type":"cond-expr","locations":[{"start":{"line":370,"column":18},"end":{"line":370,"column":78}},{"start":{"line":371,"column":18},"end":{"line":371,"column":78}}]},"41":{"loc":{"start":{"line":374,"column":15},"end":{"line":376,"column":78}},"type":"cond-expr","locations":[{"start":{"line":375,"column":18},"end":{"line":375,"column":78}},{"start":{"line":376,"column":18},"end":{"line":376,"column":78}}]},"42":{"loc":{"start":{"line":380,"column":17},"end":{"line":384,"column":39}},"type":"cond-expr","locations":[{"start":{"line":381,"column":20},"end":{"line":382,"column":39}},{"start":{"line":383,"column":20},"end":{"line":384,"column":39}}]},"43":{"loc":{"start":{"line":387,"column":17},"end":{"line":391,"column":39}},"type":"cond-expr","locations":[{"start":{"line":388,"column":20},"end":{"line":389,"column":39}},{"start":{"line":390,"column":20},"end":{"line":391,"column":39}}]},"44":{"loc":{"start":{"line":394,"column":17},"end":{"line":398,"column":39}},"type":"cond-expr","locations":[{"start":{"line":395,"column":20},"end":{"line":396,"column":39}},{"start":{"line":397,"column":20},"end":{"line":398,"column":39}}]},"45":{"loc":{"start":{"line":402,"column":15},"end":{"line":404,"column":78}},"type":"cond-expr","locations":[{"start":{"line":403,"column":18},"end":{"line":403,"column":78}},{"start":{"line":404,"column":18},"end":{"line":404,"column":78}}]},"46":{"loc":{"start":{"line":408,"column":17},"end":{"line":411,"column":28}},"type":"cond-expr","locations":[{"start":{"line":409,"column":20},"end":{"line":409,"column":80}},{"start":{"line":410,"column":20},"end":{"line":411,"column":28}}]},"47":{"loc":{"start":{"line":417,"column":22},"end":{"line":421,"column":50}},"type":"cond-expr","locations":[{"start":{"line":418,"column":26},"end":{"line":419,"column":50}},{"start":{"line":420,"column":26},"end":{"line":421,"column":50}}]},"48":{"loc":{"start":{"line":424,"column":22},"end":{"line":428,"column":45}},"type":"cond-expr","locations":[{"start":{"line":425,"column":26},"end":{"line":426,"column":45}},{"start":{"line":427,"column":26},"end":{"line":428,"column":45}}]},"49":{"loc":{"start":{"line":446,"column":24},"end":{"line":450,"column":35}},"type":"cond-expr","locations":[{"start":{"line":447,"column":28},"end":{"line":448,"column":35}},{"start":{"line":449,"column":28},"end":{"line":450,"column":35}}]},"50":{"loc":{"start":{"line":459,"column":22},"end":{"line":463,"column":48}},"type":"cond-expr","locations":[{"start":{"line":460,"column":26},"end":{"line":461,"column":48}},{"start":{"line":462,"column":26},"end":{"line":463,"column":48}}]},"51":{"loc":{"start":{"line":468,"column":26},"end":{"line":472,"column":65}},"type":"cond-expr","locations":[{"start":{"line":469,"column":30},"end":{"line":470,"column":65}},{"start":{"line":471,"column":30},"end":{"line":472,"column":65}}]},"52":{"loc":{"start":{"line":483,"column":22},"end":{"line":487,"column":50}},"type":"cond-expr","locations":[{"start":{"line":484,"column":26},"end":{"line":485,"column":50}},{"start":{"line":486,"column":26},"end":{"line":487,"column":50}}]},"53":{"loc":{"start":{"line":490,"column":22},"end":{"line":494,"column":45}},"type":"cond-expr","locations":[{"start":{"line":491,"column":26},"end":{"line":492,"column":45}},{"start":{"line":493,"column":26},"end":{"line":494,"column":45}}]},"54":{"loc":{"start":{"line":512,"column":24},"end":{"line":516,"column":35}},"type":"cond-expr","locations":[{"start":{"line":513,"column":28},"end":{"line":514,"column":35}},{"start":{"line":515,"column":28},"end":{"line":516,"column":35}}]},"55":{"loc":{"start":{"line":525,"column":22},"end":{"line":529,"column":48}},"type":"cond-expr","locations":[{"start":{"line":526,"column":26},"end":{"line":527,"column":48}},{"start":{"line":528,"column":26},"end":{"line":529,"column":48}}]},"56":{"loc":{"start":{"line":534,"column":26},"end":{"line":538,"column":65}},"type":"cond-expr","locations":[{"start":{"line":535,"column":30},"end":{"line":536,"column":65}},{"start":{"line":537,"column":30},"end":{"line":538,"column":65}}]},"57":{"loc":{"start":{"line":549,"column":22},"end":{"line":553,"column":50}},"type":"cond-expr","locations":[{"start":{"line":550,"column":26},"end":{"line":551,"column":50}},{"start":{"line":552,"column":26},"end":{"line":553,"column":50}}]},"58":{"loc":{"start":{"line":556,"column":22},"end":{"line":560,"column":45}},"type":"cond-expr","locations":[{"start":{"line":557,"column":26},"end":{"line":558,"column":45}},{"start":{"line":559,"column":26},"end":{"line":560,"column":45}}]},"59":{"loc":{"start":{"line":578,"column":24},"end":{"line":582,"column":35}},"type":"cond-expr","locations":[{"start":{"line":579,"column":28},"end":{"line":580,"column":35}},{"start":{"line":581,"column":28},"end":{"line":582,"column":35}}]},"60":{"loc":{"start":{"line":591,"column":22},"end":{"line":595,"column":48}},"type":"cond-expr","locations":[{"start":{"line":592,"column":26},"end":{"line":593,"column":48}},{"start":{"line":594,"column":26},"end":{"line":595,"column":48}}]},"61":{"loc":{"start":{"line":600,"column":26},"end":{"line":604,"column":65}},"type":"cond-expr","locations":[{"start":{"line":601,"column":30},"end":{"line":602,"column":65}},{"start":{"line":603,"column":30},"end":{"line":604,"column":65}}]},"62":{"loc":{"start":{"line":614,"column":38},"end":{"line":614,"column":null}},"type":"cond-expr","locations":[{"start":{"line":614,"column":38},"end":{"line":614,"column":null}}]},"63":{"loc":{"start":{"line":617,"column":17},"end":{"line":619,"column":null}},"type":"cond-expr","locations":[{"start":{"line":618,"column":20},"end":{"line":618,"column":null}},{"start":{"line":619,"column":20},"end":{"line":619,"column":null}}]},"64":{"loc":{"start":{"line":645,"column":25},"end":{"line":645,"column":null}},"type":"binary-expr","locations":[{"start":{"line":645,"column":25},"end":{"line":645,"column":56}},{"start":{"line":645,"column":60},"end":{"line":645,"column":null}}]},"65":{"loc":{"start":{"line":651,"column":16},"end":{"line":651,"column":null}},"type":"cond-expr","locations":[{"start":{"line":651,"column":53},"end":{"line":651,"column":58}},{"start":{"line":651,"column":58},"end":{"line":651,"column":null}}]}},"s":{"0":1,"1":0,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":2,"18":1,"19":1,"20":21,"21":1,"22":2,"23":1,"24":1,"25":0,"26":0,"27":1,"28":0,"29":0,"30":0},"f":{"0":2,"1":21,"2":2,"3":1,"4":0},"b":{"0":[21,20,19,18],"1":[0,2],"2":[0,2],"3":[0,2],"4":[0,2],"5":[0,2],"6":[0],"7":[0,0],"8":[0,1],"9":[0,1],"10":[0,1],"11":[0,1],"12":[0,1],"13":[0,1],"14":[0,1],"15":[0,1],"16":[0,1],"17":[0,1],"18":[0,1],"19":[0,1],"20":[0,1],"21":[0,1],"22":[0,1],"23":[0,1],"24":[0,1],"25":[0,1],"26":[0,1],"27":[0,1],"28":[0,1],"29":[0,1],"30":[0,1],"31":[0,1],"32":[0,1],"33":[0,1],"34":[0,1],"35":[0,1],"36":[0,1],"37":[0,1],"38":[0,1],"39":[0,1],"40":[0,1],"41":[0,1],"42":[0,1],"43":[0,1],"44":[0,1],"45":[0,1],"46":[0,1],"47":[0,1],"48":[0,1],"49":[0,1],"50":[0,1],"51":[0,1],"52":[0,1],"53":[0,1],"54":[0,1],"55":[0,1],"56":[0,1],"57":[0,1],"58":[0,1],"59":[0,1],"60":[0,1],"61":[0,1],"62":[0],"63":[0,1],"64":[0,0],"65":[0,0]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/pages/projects/dashboard/[id].js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/pages/projects/dashboard/[id].js","statementMap":{"0":{"start":{"line":11,"column":24},"end":{"line":11,"column":46}},"1":{"start":{"line":86,"column":22},"end":{"line":86,"column":36}},"2":{"start":{"line":100,"column":13},"end":{"line":100,"column":27}},"3":{"start":{"line":1,"column":21},"end":{"line":1,"column":null}},"4":{"start":{"line":2,"column":39},"end":{"line":2,"column":null}},"5":{"start":{"line":3,"column":23},"end":{"line":3,"column":null}},"6":{"start":{"line":4,"column":36},"end":{"line":4,"column":null}},"7":{"start":{"line":5,"column":31},"end":{"line":5,"column":null}},"8":{"start":{"line":6,"column":32},"end":{"line":6,"column":null}},"9":{"start":{"line":7,"column":34},"end":{"line":7,"column":null}},"10":{"start":{"line":8,"column":27},"end":{"line":8,"column":null}},"11":{"start":{"line":9,"column":24},"end":{"line":9,"column":null}},"12":{"start":{"line":12,"column":21},"end":{"line":12,"column":null}},"13":{"start":{"line":13,"column":23},"end":{"line":13,"column":null}},"14":{"start":{"line":15,"column":2},"end":{"line":20,"column":null}},"15":{"start":{"line":16,"column":4},"end":{"line":19,"column":null}},"16":{"start":{"line":17,"column":6},"end":{"line":17,"column":null}},"17":{"start":{"line":18,"column":6},"end":{"line":18,"column":null}},"18":{"start":{"line":88,"column":19},"end":{"line":89,"column":null}},"19":{"start":{"line":92,"column":16},"end":{"line":92,"column":null}},"20":{"start":{"line":93,"column":2},"end":{"line":93,"column":null}},"21":{"start":{"line":93,"column":23},"end":{"line":93,"column":null}},"22":{"start":{"line":94,"column":2},"end":{"line":97,"column":null}},"23":{"start":{"line":100,"column":30},"end":{"line":135,"column":null}},"24":{"start":{"line":102,"column":19},"end":{"line":103,"column":null}},"25":{"start":{"line":106,"column":31},"end":{"line":107,"column":null}},"26":{"start":{"line":109,"column":16},"end":{"line":109,"column":43}},"27":{"start":{"line":111,"column":19},"end":{"line":117,"column":null}},"28":{"start":{"line":112,"column":4},"end":{"line":115,"column":null}},"29":{"start":{"line":119,"column":2},"end":{"line":123,"column":null}},"30":{"start":{"line":120,"column":4},"end":{"line":122,"column":null}},"31":{"start":{"line":125,"column":2},"end":{"line":134,"column":null}}},"fnMap":{"0":{"name":"MscaDashboardArticles","decl":{"start":{"line":11,"column":24},"end":{"line":11,"column":46}},"loc":{"start":{"line":11,"column":51},"end":{"line":84,"column":1}}},"1":{"name":"(anonymous_6)","decl":{"start":{"line":15,"column":12},"end":{"line":15,"column":null}},"loc":{"start":{"line":15,"column":12},"end":{"line":20,"column":5}}},"2":{"name":"getStaticPaths","decl":{"start":{"line":86,"column":22},"end":{"line":86,"column":36}},"loc":{"start":{"line":86,"column":22},"end":{"line":98,"column":null}}},"3":{"name":"(anonymous_8)","decl":{"start":{"line":93,"column":12},"end":{"line":93,"column":13}},"loc":{"start":{"line":93,"column":23},"end":{"line":93,"column":null}}},"4":{"name":"(anonymous_9)","decl":{"start":{"line":100,"column":30},"end":{"line":100,"column":37}},"loc":{"start":{"line":100,"column":55},"end":{"line":135,"column":null}}},"5":{"name":"(anonymous_10)","decl":{"start":{"line":111,"column":32},"end":{"line":111,"column":33}},"loc":{"start":{"line":111,"column":33},"end":{"line":117,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":16,"column":4},"end":{"line":19,"column":null}},"type":"if","locations":[{"start":{"line":16,"column":4},"end":{"line":19,"column":null}}]},"1":{"loc":{"start":{"line":17,"column":30},"end":{"line":17,"column":57}},"type":"binary-expr","locations":[{"start":{"line":17,"column":30},"end":{"line":17,"column":51}},{"start":{"line":17,"column":55},"end":{"line":17,"column":57}}]},"2":{"loc":{"start":{"line":27,"column":10},"end":{"line":27,"column":79}},"type":"cond-expr","locations":[{"start":{"line":27,"column":34},"end":{"line":27,"column":55}},{"start":{"line":27,"column":58},"end":{"line":27,"column":79}}]},"3":{"loc":{"start":{"line":42,"column":16},"end":{"line":42,"column":79}},"type":"cond-expr","locations":[{"start":{"line":42,"column":40},"end":{"line":42,"column":58}},{"start":{"line":42,"column":61},"end":{"line":42,"column":79}}]},"4":{"loc":{"start":{"line":48,"column":18},"end":{"line":48,"column":null}},"type":"cond-expr","locations":[{"start":{"line":48,"column":42},"end":{"line":48,"column":60}},{"start":{"line":48,"column":60},"end":{"line":48,"column":null}}]},"5":{"loc":{"start":{"line":51,"column":17},"end":{"line":53,"column":43}},"type":"cond-expr","locations":[{"start":{"line":52,"column":20},"end":{"line":52,"column":43}},{"start":{"line":53,"column":20},"end":{"line":53,"column":43}}]},"6":{"loc":{"start":{"line":60,"column":18},"end":{"line":60,"column":null}},"type":"cond-expr","locations":[{"start":{"line":60,"column":42},"end":{"line":60,"column":60}},{"start":{"line":60,"column":60},"end":{"line":60,"column":null}}]},"7":{"loc":{"start":{"line":63,"column":17},"end":{"line":65,"column":42}},"type":"cond-expr","locations":[{"start":{"line":64,"column":20},"end":{"line":64,"column":42}},{"start":{"line":65,"column":20},"end":{"line":65,"column":42}}]},"8":{"loc":{"start":{"line":113,"column":7},"end":{"line":113,"column":61}},"type":"cond-expr","locations":[{"start":{"line":113,"column":25},"end":{"line":113,"column":42}},{"start":{"line":113,"column":45},"end":{"line":113,"column":61}}]},"9":{"loc":{"start":{"line":119,"column":2},"end":{"line":123,"column":null}},"type":"if","locations":[{"start":{"line":119,"column":2},"end":{"line":123,"column":null}}]},"10":{"loc":{"start":{"line":119,"column":6},"end":{"line":119,"column":35}},"type":"binary-expr","locations":[{"start":{"line":119,"column":6},"end":{"line":119,"column":19}},{"start":{"line":119,"column":19},"end":{"line":119,"column":35}}]},"11":{"loc":{"start":{"line":130,"column":25},"end":{"line":130,"column":null}},"type":"binary-expr","locations":[{"start":{"line":130,"column":25},"end":{"line":130,"column":56}},{"start":{"line":130,"column":60},"end":{"line":130,"column":null}}]},"12":{"loc":{"start":{"line":133,"column":16},"end":{"line":133,"column":null}},"type":"cond-expr","locations":[{"start":{"line":133,"column":53},"end":{"line":133,"column":58}},{"start":{"line":133,"column":58},"end":{"line":133,"column":null}}]}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0],"10":[0,0],"11":[0,0],"12":[0,0]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/pages/projects/dashboard/index.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/pages/projects/dashboard/index.js","statementMap":{"0":{"start":{"line":18,"column":24},"end":{"line":18,"column":38}},"1":{"start":{"line":361,"column":13},"end":{"line":361,"column":27}},"2":{"start":{"line":1,"column":17},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":39},"end":{"line":2,"column":null}},"4":{"start":{"line":3,"column":23},"end":{"line":3,"column":null}},"5":{"start":{"line":4,"column":26},"end":{"line":4,"column":null}},"6":{"start":{"line":5,"column":31},"end":{"line":5,"column":null}},"7":{"start":{"line":6,"column":28},"end":{"line":6,"column":null}},"8":{"start":{"line":7,"column":34},"end":{"line":7,"column":null}},"9":{"start":{"line":8,"column":24},"end":{"line":8,"column":null}},"10":{"start":{"line":9,"column":25},"end":{"line":9,"column":null}},"11":{"start":{"line":10,"column":29},"end":{"line":10,"column":null}},"12":{"start":{"line":11,"column":18},"end":{"line":11,"column":null}},"13":{"start":{"line":12,"column":28},"end":{"line":12,"column":null}},"14":{"start":{"line":13,"column":23},"end":{"line":13,"column":null}},"15":{"start":{"line":14,"column":17},"end":{"line":14,"column":null}},"16":{"start":{"line":15,"column":27},"end":{"line":15,"column":null}},"17":{"start":{"line":16,"column":34},"end":{"line":16,"column":null}},"18":{"start":{"line":19,"column":19},"end":{"line":19,"column":null}},"19":{"start":{"line":20,"column":22},"end":{"line":20,"column":null}},"20":{"start":{"line":22,"column":29},"end":{"line":27,"column":null}},"21":{"start":{"line":24,"column":6},"end":{"line":27,"column":null}},"22":{"start":{"line":30,"column":32},"end":{"line":31,"column":26}},"23":{"start":{"line":31,"column":4},"end":{"line":31,"column":26}},"24":{"start":{"line":57,"column":2},"end":{"line":62,"column":null}},"25":{"start":{"line":58,"column":4},"end":{"line":61,"column":null}},"26":{"start":{"line":59,"column":6},"end":{"line":59,"column":null}},"27":{"start":{"line":60,"column":6},"end":{"line":60,"column":null}},"28":{"start":{"line":361,"column":30},"end":{"line":382,"column":null}},"29":{"start":{"line":363,"column":29},"end":{"line":364,"column":null}},"30":{"start":{"line":367,"column":31},"end":{"line":368,"column":null}},"31":{"start":{"line":371,"column":2},"end":{"line":381,"column":null}}},"fnMap":{"0":{"name":"MscaDashboard","decl":{"start":{"line":18,"column":24},"end":{"line":18,"column":38}},"loc":{"start":{"line":18,"column":43},"end":{"line":359,"column":1}}},"1":{"name":"(anonymous_5)","decl":{"start":{"line":23,"column":4},"end":{"line":23,"column":5}},"loc":{"start":{"line":24,"column":6},"end":{"line":27,"column":null}}},"2":{"name":"(anonymous_6)","decl":{"start":{"line":30,"column":48},"end":{"line":30,"column":49}},"loc":{"start":{"line":31,"column":4},"end":{"line":31,"column":26}}},"3":{"name":"(anonymous_7)","decl":{"start":{"line":57,"column":12},"end":{"line":57,"column":null}},"loc":{"start":{"line":57,"column":12},"end":{"line":62,"column":5}}},"4":{"name":"(anonymous_8)","decl":{"start":{"line":361,"column":30},"end":{"line":361,"column":37}},"loc":{"start":{"line":361,"column":47},"end":{"line":382,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":24,"column":6},"end":{"line":27,"column":null}},"type":"binary-expr","locations":[{"start":{"line":24,"column":6},"end":{"line":24,"column":null}},{"start":{"line":25,"column":6},"end":{"line":25,"column":null}},{"start":{"line":26,"column":6},"end":{"line":26,"column":null}},{"start":{"line":27,"column":6},"end":{"line":27,"column":null}}]},"1":{"loc":{"start":{"line":35,"column":10},"end":{"line":37,"column":74}},"type":"cond-expr","locations":[{"start":{"line":36,"column":14},"end":{"line":36,"column":74}},{"start":{"line":37,"column":14},"end":{"line":37,"column":74}}]},"2":{"loc":{"start":{"line":40,"column":10},"end":{"line":42,"column":48}},"type":"cond-expr","locations":[{"start":{"line":41,"column":14},"end":{"line":41,"column":48}},{"start":{"line":42,"column":14},"end":{"line":42,"column":48}}]},"3":{"loc":{"start":{"line":46,"column":15},"end":{"line":46,"column":74}},"type":"cond-expr","locations":[{"start":{"line":46,"column":39},"end":{"line":46,"column":55}},{"start":{"line":46,"column":58},"end":{"line":46,"column":74}}]},"4":{"loc":{"start":{"line":47,"column":14},"end":{"line":47,"column":79}},"type":"cond-expr","locations":[{"start":{"line":47,"column":38},"end":{"line":47,"column":57}},{"start":{"line":47,"column":60},"end":{"line":47,"column":79}}]},"5":{"loc":{"start":{"line":49,"column":10},"end":{"line":51,"column":49}},"type":"cond-expr","locations":[{"start":{"line":50,"column":14},"end":{"line":50,"column":49}},{"start":{"line":51,"column":14},"end":{"line":51,"column":49}}]},"6":{"loc":{"start":{"line":58,"column":4},"end":{"line":61,"column":null}},"type":"if","locations":[{"start":{"line":58,"column":4},"end":{"line":61,"column":null}}]},"7":{"loc":{"start":{"line":59,"column":30},"end":{"line":59,"column":57}},"type":"binary-expr","locations":[{"start":{"line":59,"column":30},"end":{"line":59,"column":51}},{"start":{"line":59,"column":55},"end":{"line":59,"column":57}}]},"8":{"loc":{"start":{"line":69,"column":10},"end":{"line":69,"column":79}},"type":"cond-expr","locations":[{"start":{"line":69,"column":34},"end":{"line":69,"column":55}},{"start":{"line":69,"column":58},"end":{"line":69,"column":79}}]},"9":{"loc":{"start":{"line":80,"column":13},"end":{"line":82,"column":72}},"type":"cond-expr","locations":[{"start":{"line":81,"column":16},"end":{"line":81,"column":61}},{"start":{"line":82,"column":16},"end":{"line":82,"column":72}}]},"10":{"loc":{"start":{"line":87,"column":14},"end":{"line":89,"column":67}},"type":"cond-expr","locations":[{"start":{"line":88,"column":18},"end":{"line":88,"column":67}},{"start":{"line":89,"column":18},"end":{"line":89,"column":67}}]},"11":{"loc":{"start":{"line":99,"column":16},"end":{"line":101,"column":41}},"type":"cond-expr","locations":[{"start":{"line":100,"column":20},"end":{"line":100,"column":41}},{"start":{"line":101,"column":20},"end":{"line":101,"column":41}}]},"12":{"loc":{"start":{"line":109,"column":14},"end":{"line":111,"column":39}},"type":"cond-expr","locations":[{"start":{"line":110,"column":18},"end":{"line":110,"column":39}},{"start":{"line":111,"column":18},"end":{"line":111,"column":39}}]},"13":{"loc":{"start":{"line":119,"column":14},"end":{"line":119,"column":77}},"type":"cond-expr","locations":[{"start":{"line":119,"column":38},"end":{"line":119,"column":56}},{"start":{"line":119,"column":59},"end":{"line":119,"column":77}}]},"14":{"loc":{"start":{"line":124,"column":21},"end":{"line":124,"column":null}},"type":"cond-expr","locations":[{"start":{"line":124,"column":45},"end":{"line":124,"column":53}},{"start":{"line":124,"column":53},"end":{"line":124,"column":null}}]},"15":{"loc":{"start":{"line":130,"column":14},"end":{"line":132,"column":null}},"type":"cond-expr","locations":[{"start":{"line":131,"column":18},"end":{"line":131,"column":null}},{"start":{"line":132,"column":18},"end":{"line":132,"column":null}}]},"16":{"loc":{"start":{"line":146,"column":14},"end":{"line":148,"column":67}},"type":"cond-expr","locations":[{"start":{"line":147,"column":18},"end":{"line":147,"column":67}},{"start":{"line":148,"column":18},"end":{"line":148,"column":67}}]},"17":{"loc":{"start":{"line":166,"column":16},"end":{"line":168,"column":41}},"type":"cond-expr","locations":[{"start":{"line":167,"column":20},"end":{"line":167,"column":41}},{"start":{"line":168,"column":20},"end":{"line":168,"column":41}}]},"18":{"loc":{"start":{"line":175,"column":14},"end":{"line":175,"column":77}},"type":"cond-expr","locations":[{"start":{"line":175,"column":38},"end":{"line":175,"column":56}},{"start":{"line":175,"column":59},"end":{"line":175,"column":77}}]},"19":{"loc":{"start":{"line":181,"column":14},"end":{"line":183,"column":78}},"type":"cond-expr","locations":[{"start":{"line":182,"column":18},"end":{"line":182,"column":78}},{"start":{"line":183,"column":18},"end":{"line":183,"column":78}}]},"20":{"loc":{"start":{"line":193,"column":14},"end":{"line":193,"column":77}},"type":"cond-expr","locations":[{"start":{"line":193,"column":38},"end":{"line":193,"column":56}},{"start":{"line":193,"column":59},"end":{"line":193,"column":77}}]},"21":{"loc":{"start":{"line":204,"column":16},"end":{"line":206,"column":41}},"type":"cond-expr","locations":[{"start":{"line":205,"column":20},"end":{"line":205,"column":41}},{"start":{"line":206,"column":20},"end":{"line":206,"column":41}}]},"22":{"loc":{"start":{"line":213,"column":14},"end":{"line":213,"column":77}},"type":"cond-expr","locations":[{"start":{"line":213,"column":38},"end":{"line":213,"column":56}},{"start":{"line":213,"column":59},"end":{"line":213,"column":77}}]},"23":{"loc":{"start":{"line":220,"column":14},"end":{"line":222,"column":78}},"type":"cond-expr","locations":[{"start":{"line":221,"column":18},"end":{"line":221,"column":78}},{"start":{"line":222,"column":18},"end":{"line":222,"column":78}}]},"24":{"loc":{"start":{"line":232,"column":14},"end":{"line":232,"column":77}},"type":"cond-expr","locations":[{"start":{"line":232,"column":38},"end":{"line":232,"column":56}},{"start":{"line":232,"column":59},"end":{"line":232,"column":77}}]},"25":{"loc":{"start":{"line":245,"column":20},"end":{"line":247,"column":42}},"type":"cond-expr","locations":[{"start":{"line":246,"column":24},"end":{"line":246,"column":42}},{"start":{"line":247,"column":24},"end":{"line":247,"column":42}}]},"26":{"loc":{"start":{"line":256,"column":24},"end":{"line":258,"column":73}},"type":"cond-expr","locations":[{"start":{"line":257,"column":28},"end":{"line":257,"column":73}},{"start":{"line":258,"column":28},"end":{"line":258,"column":73}}]},"27":{"loc":{"start":{"line":261,"column":24},"end":{"line":263,"column":null}},"type":"binary-expr","locations":[{"start":{"line":261,"column":25},"end":{"line":263,"column":67}},{"start":{"line":263,"column":73},"end":{"line":263,"column":null}}]},"28":{"loc":{"start":{"line":261,"column":25},"end":{"line":263,"column":67}},"type":"cond-expr","locations":[{"start":{"line":262,"column":28},"end":{"line":262,"column":68}},{"start":{"line":263,"column":28},"end":{"line":263,"column":67}}]},"29":{"loc":{"start":{"line":275,"column":17},"end":{"line":278,"column":28}},"type":"cond-expr","locations":[{"start":{"line":276,"column":20},"end":{"line":276,"column":80}},{"start":{"line":277,"column":20},"end":{"line":278,"column":28}}]},"30":{"loc":{"start":{"line":284,"column":20},"end":{"line":286,"column":54}},"type":"cond-expr","locations":[{"start":{"line":285,"column":24},"end":{"line":285,"column":54}},{"start":{"line":286,"column":24},"end":{"line":286,"column":54}}]},"31":{"loc":{"start":{"line":289,"column":20},"end":{"line":291,"column":54}},"type":"cond-expr","locations":[{"start":{"line":290,"column":24},"end":{"line":290,"column":54}},{"start":{"line":291,"column":24},"end":{"line":291,"column":54}}]},"32":{"loc":{"start":{"line":294,"column":20},"end":{"line":296,"column":54}},"type":"cond-expr","locations":[{"start":{"line":295,"column":24},"end":{"line":295,"column":54}},{"start":{"line":296,"column":24},"end":{"line":296,"column":54}}]},"33":{"loc":{"start":{"line":302,"column":20},"end":{"line":306,"column":32}},"type":"cond-expr","locations":[{"start":{"line":303,"column":24},"end":{"line":304,"column":32}},{"start":{"line":305,"column":24},"end":{"line":306,"column":32}}]},"34":{"loc":{"start":{"line":309,"column":20},"end":{"line":313,"column":32}},"type":"cond-expr","locations":[{"start":{"line":310,"column":24},"end":{"line":311,"column":32}},{"start":{"line":312,"column":24},"end":{"line":313,"column":32}}]},"35":{"loc":{"start":{"line":316,"column":20},"end":{"line":318,"column":57}},"type":"cond-expr","locations":[{"start":{"line":317,"column":24},"end":{"line":317,"column":57}},{"start":{"line":318,"column":24},"end":{"line":318,"column":57}}]},"36":{"loc":{"start":{"line":321,"column":20},"end":{"line":323,"column":70}},"type":"cond-expr","locations":[{"start":{"line":322,"column":24},"end":{"line":322,"column":70}},{"start":{"line":323,"column":24},"end":{"line":323,"column":70}}]},"37":{"loc":{"start":{"line":326,"column":20},"end":{"line":330,"column":32}},"type":"cond-expr","locations":[{"start":{"line":327,"column":24},"end":{"line":328,"column":32}},{"start":{"line":329,"column":24},"end":{"line":330,"column":32}}]},"38":{"loc":{"start":{"line":344,"column":36},"end":{"line":344,"column":null}},"type":"cond-expr","locations":[{"start":{"line":344,"column":36},"end":{"line":344,"column":null}}]},"39":{"loc":{"start":{"line":347,"column":15},"end":{"line":349,"column":null}},"type":"cond-expr","locations":[{"start":{"line":348,"column":18},"end":{"line":348,"column":null}},{"start":{"line":349,"column":18},"end":{"line":349,"column":null}}]},"40":{"loc":{"start":{"line":374,"column":25},"end":{"line":374,"column":null}},"type":"binary-expr","locations":[{"start":{"line":374,"column":25},"end":{"line":374,"column":56}},{"start":{"line":374,"column":60},"end":{"line":374,"column":null}}]},"41":{"loc":{"start":{"line":380,"column":16},"end":{"line":380,"column":null}},"type":"cond-expr","locations":[{"start":{"line":380,"column":53},"end":{"line":380,"column":58}},{"start":{"line":380,"column":58},"end":{"line":380,"column":null}}]}},"s":{"0":1,"1":0,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":2,"19":1,"20":1,"21":21,"22":1,"23":1,"24":1,"25":1,"26":0,"27":0,"28":1,"29":0,"30":0,"31":0},"f":{"0":2,"1":21,"2":1,"3":1,"4":0},"b":{"0":[21,20,19,18],"1":[0,1],"2":[0,1],"3":[0,1],"4":[0,1],"5":[0,1],"6":[0],"7":[0,0],"8":[0,1],"9":[0,1],"10":[0,1],"11":[0,1],"12":[0,1],"13":[0,1],"14":[0,1],"15":[0,1],"16":[0,1],"17":[0,1],"18":[0,1],"19":[0,1],"20":[0,1],"21":[0,1],"22":[0,1],"23":[0,1],"24":[0,1],"25":[0,1],"26":[0,1],"27":[1,1],"28":[0,1],"29":[0,1],"30":[0,1],"31":[0,1],"32":[0,1],"33":[0,1],"34":[0,1],"35":[0,1],"36":[0,1],"37":[0,1],"38":[0],"39":[0,1],"40":[0,0],"41":[0,0]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/pages/projects/digital-standards-playbook/[id].js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/pages/projects/digital-standards-playbook/[id].js","statementMap":{"0":{"start":{"line":12,"column":24},"end":{"line":12,"column":49}},"1":{"start":{"line":88,"column":22},"end":{"line":88,"column":36}},"2":{"start":{"line":103,"column":13},"end":{"line":103,"column":27}},"3":{"start":{"line":1,"column":39},"end":{"line":1,"column":null}},"4":{"start":{"line":2,"column":31},"end":{"line":2,"column":null}},"5":{"start":{"line":3,"column":21},"end":{"line":3,"column":null}},"6":{"start":{"line":4,"column":23},"end":{"line":4,"column":null}},"7":{"start":{"line":5,"column":36},"end":{"line":5,"column":null}},"8":{"start":{"line":6,"column":31},"end":{"line":6,"column":null}},"9":{"start":{"line":7,"column":32},"end":{"line":7,"column":null}},"10":{"start":{"line":8,"column":34},"end":{"line":8,"column":null}},"11":{"start":{"line":9,"column":27},"end":{"line":9,"column":null}},"12":{"start":{"line":10,"column":24},"end":{"line":10,"column":null}},"13":{"start":{"line":13,"column":16},"end":{"line":13,"column":null}},"14":{"start":{"line":14,"column":21},"end":{"line":14,"column":null}},"15":{"start":{"line":15,"column":23},"end":{"line":15,"column":null}},"16":{"start":{"line":17,"column":2},"end":{"line":22,"column":null}},"17":{"start":{"line":18,"column":4},"end":{"line":21,"column":null}},"18":{"start":{"line":19,"column":6},"end":{"line":19,"column":null}},"19":{"start":{"line":20,"column":6},"end":{"line":20,"column":null}},"20":{"start":{"line":90,"column":19},"end":{"line":91,"column":null}},"21":{"start":{"line":94,"column":16},"end":{"line":94,"column":null}},"22":{"start":{"line":96,"column":2},"end":{"line":96,"column":null}},"23":{"start":{"line":96,"column":23},"end":{"line":96,"column":null}},"24":{"start":{"line":97,"column":2},"end":{"line":100,"column":null}},"25":{"start":{"line":103,"column":30},"end":{"line":138,"column":null}},"26":{"start":{"line":105,"column":19},"end":{"line":106,"column":null}},"27":{"start":{"line":109,"column":31},"end":{"line":110,"column":null}},"28":{"start":{"line":112,"column":16},"end":{"line":112,"column":43}},"29":{"start":{"line":114,"column":19},"end":{"line":120,"column":null}},"30":{"start":{"line":115,"column":4},"end":{"line":118,"column":null}},"31":{"start":{"line":122,"column":2},"end":{"line":126,"column":null}},"32":{"start":{"line":123,"column":4},"end":{"line":125,"column":null}},"33":{"start":{"line":128,"column":2},"end":{"line":137,"column":null}}},"fnMap":{"0":{"name":"DigitalStandardsArticles","decl":{"start":{"line":12,"column":24},"end":{"line":12,"column":49}},"loc":{"start":{"line":12,"column":54},"end":{"line":86,"column":1}}},"1":{"name":"(anonymous_6)","decl":{"start":{"line":17,"column":12},"end":{"line":17,"column":null}},"loc":{"start":{"line":17,"column":12},"end":{"line":22,"column":5}}},"2":{"name":"getStaticPaths","decl":{"start":{"line":88,"column":22},"end":{"line":88,"column":36}},"loc":{"start":{"line":88,"column":22},"end":{"line":101,"column":null}}},"3":{"name":"(anonymous_8)","decl":{"start":{"line":96,"column":12},"end":{"line":96,"column":13}},"loc":{"start":{"line":96,"column":23},"end":{"line":96,"column":null}}},"4":{"name":"(anonymous_9)","decl":{"start":{"line":103,"column":30},"end":{"line":103,"column":37}},"loc":{"start":{"line":103,"column":55},"end":{"line":138,"column":null}}},"5":{"name":"(anonymous_10)","decl":{"start":{"line":114,"column":32},"end":{"line":114,"column":33}},"loc":{"start":{"line":114,"column":33},"end":{"line":120,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":18,"column":4},"end":{"line":21,"column":null}},"type":"if","locations":[{"start":{"line":18,"column":4},"end":{"line":21,"column":null}}]},"1":{"loc":{"start":{"line":19,"column":30},"end":{"line":19,"column":57}},"type":"binary-expr","locations":[{"start":{"line":19,"column":30},"end":{"line":19,"column":51}},{"start":{"line":19,"column":55},"end":{"line":19,"column":57}}]},"2":{"loc":{"start":{"line":29,"column":10},"end":{"line":29,"column":79}},"type":"cond-expr","locations":[{"start":{"line":29,"column":34},"end":{"line":29,"column":55}},{"start":{"line":29,"column":58},"end":{"line":29,"column":79}}]},"3":{"loc":{"start":{"line":44,"column":16},"end":{"line":44,"column":79}},"type":"cond-expr","locations":[{"start":{"line":44,"column":40},"end":{"line":44,"column":58}},{"start":{"line":44,"column":61},"end":{"line":44,"column":79}}]},"4":{"loc":{"start":{"line":50,"column":18},"end":{"line":50,"column":null}},"type":"cond-expr","locations":[{"start":{"line":50,"column":42},"end":{"line":50,"column":60}},{"start":{"line":50,"column":60},"end":{"line":50,"column":null}}]},"5":{"loc":{"start":{"line":53,"column":17},"end":{"line":55,"column":43}},"type":"cond-expr","locations":[{"start":{"line":54,"column":20},"end":{"line":54,"column":43}},{"start":{"line":55,"column":20},"end":{"line":55,"column":43}}]},"6":{"loc":{"start":{"line":62,"column":18},"end":{"line":62,"column":null}},"type":"cond-expr","locations":[{"start":{"line":62,"column":42},"end":{"line":62,"column":60}},{"start":{"line":62,"column":60},"end":{"line":62,"column":null}}]},"7":{"loc":{"start":{"line":65,"column":17},"end":{"line":67,"column":42}},"type":"cond-expr","locations":[{"start":{"line":66,"column":20},"end":{"line":66,"column":42}},{"start":{"line":67,"column":20},"end":{"line":67,"column":42}}]},"8":{"loc":{"start":{"line":116,"column":7},"end":{"line":116,"column":61}},"type":"cond-expr","locations":[{"start":{"line":116,"column":25},"end":{"line":116,"column":42}},{"start":{"line":116,"column":45},"end":{"line":116,"column":61}}]},"9":{"loc":{"start":{"line":122,"column":2},"end":{"line":126,"column":null}},"type":"if","locations":[{"start":{"line":122,"column":2},"end":{"line":126,"column":null}}]},"10":{"loc":{"start":{"line":122,"column":6},"end":{"line":122,"column":35}},"type":"binary-expr","locations":[{"start":{"line":122,"column":6},"end":{"line":122,"column":19}},{"start":{"line":122,"column":19},"end":{"line":122,"column":35}}]},"11":{"loc":{"start":{"line":133,"column":25},"end":{"line":133,"column":null}},"type":"binary-expr","locations":[{"start":{"line":133,"column":25},"end":{"line":133,"column":56}},{"start":{"line":133,"column":60},"end":{"line":133,"column":null}}]},"12":{"loc":{"start":{"line":136,"column":16},"end":{"line":136,"column":null}},"type":"cond-expr","locations":[{"start":{"line":136,"column":53},"end":{"line":136,"column":58}},{"start":{"line":136,"column":58},"end":{"line":136,"column":null}}]}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0],"10":[0,0],"11":[0,0],"12":[0,0]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/pages/projects/digital-standards-playbook/index.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/pages/projects/digital-standards-playbook/index.js","statementMap":{"0":{"start":{"line":15,"column":24},"end":{"line":15,"column":53}},"1":{"start":{"line":463,"column":13},"end":{"line":463,"column":27}},"2":{"start":{"line":1,"column":17},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":39},"end":{"line":2,"column":null}},"4":{"start":{"line":3,"column":23},"end":{"line":3,"column":null}},"5":{"start":{"line":4,"column":36},"end":{"line":4,"column":null}},"6":{"start":{"line":5,"column":31},"end":{"line":5,"column":null}},"7":{"start":{"line":6,"column":28},"end":{"line":6,"column":null}},"8":{"start":{"line":7,"column":17},"end":{"line":7,"column":null}},"9":{"start":{"line":8,"column":34},"end":{"line":8,"column":null}},"10":{"start":{"line":9,"column":24},"end":{"line":9,"column":null}},"11":{"start":{"line":10,"column":29},"end":{"line":10,"column":null}},"12":{"start":{"line":11,"column":18},"end":{"line":11,"column":null}},"13":{"start":{"line":12,"column":28},"end":{"line":12,"column":null}},"14":{"start":{"line":13,"column":34},"end":{"line":13,"column":null}},"15":{"start":{"line":16,"column":21},"end":{"line":16,"column":null}},"16":{"start":{"line":17,"column":22},"end":{"line":17,"column":null}},"17":{"start":{"line":19,"column":29},"end":{"line":24,"column":null}},"18":{"start":{"line":21,"column":6},"end":{"line":24,"column":null}},"19":{"start":{"line":27,"column":32},"end":{"line":28,"column":26}},"20":{"start":{"line":28,"column":4},"end":{"line":28,"column":26}},"21":{"start":{"line":54,"column":2},"end":{"line":59,"column":null}},"22":{"start":{"line":55,"column":4},"end":{"line":58,"column":null}},"23":{"start":{"line":56,"column":6},"end":{"line":56,"column":null}},"24":{"start":{"line":57,"column":6},"end":{"line":57,"column":null}},"25":{"start":{"line":463,"column":30},"end":{"line":484,"column":null}},"26":{"start":{"line":465,"column":29},"end":{"line":466,"column":null}},"27":{"start":{"line":469,"column":31},"end":{"line":470,"column":null}},"28":{"start":{"line":473,"column":2},"end":{"line":483,"column":null}}},"fnMap":{"0":{"name":"DigitalStandardsPlaybookPage","decl":{"start":{"line":15,"column":24},"end":{"line":15,"column":53}},"loc":{"start":{"line":15,"column":58},"end":{"line":461,"column":1}}},"1":{"name":"(anonymous_5)","decl":{"start":{"line":20,"column":4},"end":{"line":20,"column":5}},"loc":{"start":{"line":21,"column":6},"end":{"line":24,"column":null}}},"2":{"name":"(anonymous_6)","decl":{"start":{"line":27,"column":48},"end":{"line":27,"column":49}},"loc":{"start":{"line":28,"column":4},"end":{"line":28,"column":26}}},"3":{"name":"(anonymous_7)","decl":{"start":{"line":54,"column":12},"end":{"line":54,"column":null}},"loc":{"start":{"line":54,"column":12},"end":{"line":59,"column":5}}},"4":{"name":"(anonymous_8)","decl":{"start":{"line":463,"column":30},"end":{"line":463,"column":37}},"loc":{"start":{"line":463,"column":47},"end":{"line":484,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":21,"column":6},"end":{"line":24,"column":null}},"type":"binary-expr","locations":[{"start":{"line":21,"column":6},"end":{"line":21,"column":null}},{"start":{"line":22,"column":6},"end":{"line":22,"column":null}},{"start":{"line":23,"column":6},"end":{"line":23,"column":null}},{"start":{"line":24,"column":6},"end":{"line":24,"column":null}}]},"1":{"loc":{"start":{"line":32,"column":10},"end":{"line":34,"column":74}},"type":"cond-expr","locations":[{"start":{"line":33,"column":14},"end":{"line":33,"column":74}},{"start":{"line":34,"column":14},"end":{"line":34,"column":74}}]},"2":{"loc":{"start":{"line":37,"column":10},"end":{"line":39,"column":48}},"type":"cond-expr","locations":[{"start":{"line":38,"column":14},"end":{"line":38,"column":48}},{"start":{"line":39,"column":14},"end":{"line":39,"column":48}}]},"3":{"loc":{"start":{"line":43,"column":15},"end":{"line":43,"column":74}},"type":"cond-expr","locations":[{"start":{"line":43,"column":39},"end":{"line":43,"column":55}},{"start":{"line":43,"column":58},"end":{"line":43,"column":74}}]},"4":{"loc":{"start":{"line":44,"column":14},"end":{"line":44,"column":79}},"type":"cond-expr","locations":[{"start":{"line":44,"column":38},"end":{"line":44,"column":57}},{"start":{"line":44,"column":60},"end":{"line":44,"column":79}}]},"5":{"loc":{"start":{"line":46,"column":10},"end":{"line":48,"column":49}},"type":"cond-expr","locations":[{"start":{"line":47,"column":14},"end":{"line":47,"column":49}},{"start":{"line":48,"column":14},"end":{"line":48,"column":49}}]},"6":{"loc":{"start":{"line":55,"column":4},"end":{"line":58,"column":null}},"type":"if","locations":[{"start":{"line":55,"column":4},"end":{"line":58,"column":null}}]},"7":{"loc":{"start":{"line":56,"column":30},"end":{"line":56,"column":57}},"type":"binary-expr","locations":[{"start":{"line":56,"column":30},"end":{"line":56,"column":51}},{"start":{"line":56,"column":55},"end":{"line":56,"column":57}}]},"8":{"loc":{"start":{"line":66,"column":10},"end":{"line":66,"column":79}},"type":"cond-expr","locations":[{"start":{"line":66,"column":34},"end":{"line":66,"column":55}},{"start":{"line":66,"column":58},"end":{"line":66,"column":79}}]},"9":{"loc":{"start":{"line":68,"column":30},"end":{"line":68,"column":null}},"type":"binary-expr","locations":[{"start":{"line":68,"column":30},"end":{"line":68,"column":62}},{"start":{"line":68,"column":66},"end":{"line":68,"column":null}}]},"10":{"loc":{"start":{"line":77,"column":13},"end":{"line":79,"column":72}},"type":"cond-expr","locations":[{"start":{"line":78,"column":16},"end":{"line":78,"column":61}},{"start":{"line":79,"column":16},"end":{"line":79,"column":72}}]},"11":{"loc":{"start":{"line":84,"column":14},"end":{"line":86,"column":67}},"type":"cond-expr","locations":[{"start":{"line":85,"column":18},"end":{"line":85,"column":67}},{"start":{"line":86,"column":18},"end":{"line":86,"column":67}}]},"12":{"loc":{"start":{"line":96,"column":16},"end":{"line":98,"column":41}},"type":"cond-expr","locations":[{"start":{"line":97,"column":20},"end":{"line":97,"column":41}},{"start":{"line":98,"column":20},"end":{"line":98,"column":41}}]},"13":{"loc":{"start":{"line":106,"column":14},"end":{"line":108,"column":39}},"type":"cond-expr","locations":[{"start":{"line":107,"column":18},"end":{"line":107,"column":39}},{"start":{"line":108,"column":18},"end":{"line":108,"column":39}}]},"14":{"loc":{"start":{"line":116,"column":14},"end":{"line":116,"column":77}},"type":"cond-expr","locations":[{"start":{"line":116,"column":38},"end":{"line":116,"column":56}},{"start":{"line":116,"column":59},"end":{"line":116,"column":77}}]},"15":{"loc":{"start":{"line":121,"column":21},"end":{"line":121,"column":null}},"type":"cond-expr","locations":[{"start":{"line":121,"column":45},"end":{"line":121,"column":53}},{"start":{"line":121,"column":53},"end":{"line":121,"column":null}}]},"16":{"loc":{"start":{"line":127,"column":14},"end":{"line":129,"column":null}},"type":"cond-expr","locations":[{"start":{"line":128,"column":18},"end":{"line":128,"column":null}},{"start":{"line":129,"column":18},"end":{"line":129,"column":null}}]},"17":{"loc":{"start":{"line":143,"column":14},"end":{"line":145,"column":67}},"type":"cond-expr","locations":[{"start":{"line":144,"column":18},"end":{"line":144,"column":67}},{"start":{"line":145,"column":18},"end":{"line":145,"column":67}}]},"18":{"loc":{"start":{"line":163,"column":16},"end":{"line":165,"column":41}},"type":"cond-expr","locations":[{"start":{"line":164,"column":20},"end":{"line":164,"column":41}},{"start":{"line":165,"column":20},"end":{"line":165,"column":41}}]},"19":{"loc":{"start":{"line":172,"column":14},"end":{"line":172,"column":77}},"type":"cond-expr","locations":[{"start":{"line":172,"column":38},"end":{"line":172,"column":56}},{"start":{"line":172,"column":59},"end":{"line":172,"column":77}}]},"20":{"loc":{"start":{"line":178,"column":14},"end":{"line":180,"column":78}},"type":"cond-expr","locations":[{"start":{"line":179,"column":18},"end":{"line":179,"column":78}},{"start":{"line":180,"column":18},"end":{"line":180,"column":78}}]},"21":{"loc":{"start":{"line":190,"column":14},"end":{"line":190,"column":77}},"type":"cond-expr","locations":[{"start":{"line":190,"column":38},"end":{"line":190,"column":56}},{"start":{"line":190,"column":59},"end":{"line":190,"column":77}}]},"22":{"loc":{"start":{"line":201,"column":16},"end":{"line":203,"column":41}},"type":"cond-expr","locations":[{"start":{"line":202,"column":20},"end":{"line":202,"column":41}},{"start":{"line":203,"column":20},"end":{"line":203,"column":41}}]},"23":{"loc":{"start":{"line":210,"column":14},"end":{"line":210,"column":77}},"type":"cond-expr","locations":[{"start":{"line":210,"column":38},"end":{"line":210,"column":56}},{"start":{"line":210,"column":59},"end":{"line":210,"column":77}}]},"24":{"loc":{"start":{"line":217,"column":14},"end":{"line":219,"column":78}},"type":"cond-expr","locations":[{"start":{"line":218,"column":18},"end":{"line":218,"column":78}},{"start":{"line":219,"column":18},"end":{"line":219,"column":78}}]},"25":{"loc":{"start":{"line":229,"column":14},"end":{"line":229,"column":77}},"type":"cond-expr","locations":[{"start":{"line":229,"column":38},"end":{"line":229,"column":56}},{"start":{"line":229,"column":59},"end":{"line":229,"column":77}}]},"26":{"loc":{"start":{"line":242,"column":20},"end":{"line":244,"column":42}},"type":"cond-expr","locations":[{"start":{"line":243,"column":24},"end":{"line":243,"column":42}},{"start":{"line":244,"column":24},"end":{"line":244,"column":42}}]},"27":{"loc":{"start":{"line":253,"column":24},"end":{"line":255,"column":73}},"type":"cond-expr","locations":[{"start":{"line":254,"column":28},"end":{"line":254,"column":73}},{"start":{"line":255,"column":28},"end":{"line":255,"column":73}}]},"28":{"loc":{"start":{"line":258,"column":24},"end":{"line":260,"column":null}},"type":"binary-expr","locations":[{"start":{"line":258,"column":25},"end":{"line":260,"column":67}},{"start":{"line":260,"column":73},"end":{"line":260,"column":null}}]},"29":{"loc":{"start":{"line":258,"column":25},"end":{"line":260,"column":67}},"type":"cond-expr","locations":[{"start":{"line":259,"column":28},"end":{"line":259,"column":68}},{"start":{"line":260,"column":28},"end":{"line":260,"column":67}}]},"30":{"loc":{"start":{"line":272,"column":17},"end":{"line":275,"column":28}},"type":"cond-expr","locations":[{"start":{"line":273,"column":20},"end":{"line":273,"column":80}},{"start":{"line":274,"column":20},"end":{"line":275,"column":28}}]},"31":{"loc":{"start":{"line":281,"column":20},"end":{"line":283,"column":54}},"type":"cond-expr","locations":[{"start":{"line":282,"column":24},"end":{"line":282,"column":54}},{"start":{"line":283,"column":24},"end":{"line":283,"column":54}}]},"32":{"loc":{"start":{"line":286,"column":20},"end":{"line":288,"column":54}},"type":"cond-expr","locations":[{"start":{"line":287,"column":24},"end":{"line":287,"column":54}},{"start":{"line":288,"column":24},"end":{"line":288,"column":54}}]},"33":{"loc":{"start":{"line":291,"column":20},"end":{"line":293,"column":54}},"type":"cond-expr","locations":[{"start":{"line":292,"column":24},"end":{"line":292,"column":54}},{"start":{"line":293,"column":24},"end":{"line":293,"column":54}}]},"34":{"loc":{"start":{"line":299,"column":20},"end":{"line":303,"column":32}},"type":"cond-expr","locations":[{"start":{"line":300,"column":24},"end":{"line":301,"column":32}},{"start":{"line":302,"column":24},"end":{"line":303,"column":32}}]},"35":{"loc":{"start":{"line":306,"column":20},"end":{"line":310,"column":32}},"type":"cond-expr","locations":[{"start":{"line":307,"column":24},"end":{"line":308,"column":32}},{"start":{"line":309,"column":24},"end":{"line":310,"column":32}}]},"36":{"loc":{"start":{"line":313,"column":20},"end":{"line":315,"column":57}},"type":"cond-expr","locations":[{"start":{"line":314,"column":24},"end":{"line":314,"column":57}},{"start":{"line":315,"column":24},"end":{"line":315,"column":57}}]},"37":{"loc":{"start":{"line":318,"column":20},"end":{"line":320,"column":70}},"type":"cond-expr","locations":[{"start":{"line":319,"column":24},"end":{"line":319,"column":70}},{"start":{"line":320,"column":24},"end":{"line":320,"column":70}}]},"38":{"loc":{"start":{"line":323,"column":20},"end":{"line":327,"column":32}},"type":"cond-expr","locations":[{"start":{"line":324,"column":24},"end":{"line":325,"column":32}},{"start":{"line":326,"column":24},"end":{"line":327,"column":32}}]},"39":{"loc":{"start":{"line":336,"column":17},"end":{"line":339,"column":28}},"type":"cond-expr","locations":[{"start":{"line":337,"column":20},"end":{"line":337,"column":80}},{"start":{"line":338,"column":20},"end":{"line":339,"column":28}}]},"40":{"loc":{"start":{"line":342,"column":17},"end":{"line":345,"column":28}},"type":"cond-expr","locations":[{"start":{"line":343,"column":20},"end":{"line":343,"column":80}},{"start":{"line":344,"column":20},"end":{"line":345,"column":28}}]},"41":{"loc":{"start":{"line":348,"column":17},"end":{"line":351,"column":28}},"type":"cond-expr","locations":[{"start":{"line":349,"column":20},"end":{"line":349,"column":80}},{"start":{"line":350,"column":20},"end":{"line":351,"column":28}}]},"42":{"loc":{"start":{"line":355,"column":17},"end":{"line":358,"column":28}},"type":"cond-expr","locations":[{"start":{"line":356,"column":20},"end":{"line":356,"column":80}},{"start":{"line":357,"column":20},"end":{"line":358,"column":28}}]},"43":{"loc":{"start":{"line":361,"column":17},"end":{"line":364,"column":28}},"type":"cond-expr","locations":[{"start":{"line":362,"column":20},"end":{"line":362,"column":80}},{"start":{"line":363,"column":20},"end":{"line":364,"column":28}}]},"44":{"loc":{"start":{"line":368,"column":20},"end":{"line":372,"column":36}},"type":"cond-expr","locations":[{"start":{"line":369,"column":24},"end":{"line":370,"column":36}},{"start":{"line":371,"column":24},"end":{"line":372,"column":36}}]},"45":{"loc":{"start":{"line":375,"column":19},"end":{"line":379,"column":30}},"type":"cond-expr","locations":[{"start":{"line":376,"column":22},"end":{"line":377,"column":30}},{"start":{"line":378,"column":22},"end":{"line":379,"column":30}}]},"46":{"loc":{"start":{"line":381,"column":17},"end":{"line":384,"column":28}},"type":"cond-expr","locations":[{"start":{"line":382,"column":20},"end":{"line":382,"column":80}},{"start":{"line":383,"column":20},"end":{"line":384,"column":28}}]},"47":{"loc":{"start":{"line":387,"column":17},"end":{"line":391,"column":28}},"type":"cond-expr","locations":[{"start":{"line":388,"column":20},"end":{"line":389,"column":28}},{"start":{"line":390,"column":20},"end":{"line":391,"column":28}}]},"48":{"loc":{"start":{"line":399,"column":18},"end":{"line":401,"column":64}},"type":"cond-expr","locations":[{"start":{"line":400,"column":22},"end":{"line":400,"column":64}},{"start":{"line":401,"column":22},"end":{"line":401,"column":64}}]},"49":{"loc":{"start":{"line":404,"column":18},"end":{"line":406,"column":55}},"type":"cond-expr","locations":[{"start":{"line":405,"column":22},"end":{"line":405,"column":55}},{"start":{"line":406,"column":22},"end":{"line":406,"column":55}}]},"50":{"loc":{"start":{"line":412,"column":17},"end":{"line":415,"column":28}},"type":"cond-expr","locations":[{"start":{"line":413,"column":20},"end":{"line":413,"column":80}},{"start":{"line":414,"column":20},"end":{"line":415,"column":28}}]},"51":{"loc":{"start":{"line":419,"column":20},"end":{"line":423,"column":36}},"type":"cond-expr","locations":[{"start":{"line":420,"column":24},"end":{"line":421,"column":36}},{"start":{"line":422,"column":24},"end":{"line":423,"column":36}}]},"52":{"loc":{"start":{"line":426,"column":19},"end":{"line":430,"column":30}},"type":"cond-expr","locations":[{"start":{"line":427,"column":22},"end":{"line":428,"column":30}},{"start":{"line":429,"column":22},"end":{"line":430,"column":30}}]},"53":{"loc":{"start":{"line":432,"column":17},"end":{"line":435,"column":28}},"type":"cond-expr","locations":[{"start":{"line":433,"column":20},"end":{"line":433,"column":80}},{"start":{"line":434,"column":20},"end":{"line":435,"column":28}}]},"54":{"loc":{"start":{"line":438,"column":17},"end":{"line":441,"column":28}},"type":"cond-expr","locations":[{"start":{"line":439,"column":20},"end":{"line":439,"column":80}},{"start":{"line":440,"column":20},"end":{"line":441,"column":28}}]},"55":{"loc":{"start":{"line":445,"column":38},"end":{"line":445,"column":null}},"type":"cond-expr","locations":[{"start":{"line":445,"column":38},"end":{"line":445,"column":null}}]},"56":{"loc":{"start":{"line":448,"column":17},"end":{"line":450,"column":null}},"type":"cond-expr","locations":[{"start":{"line":449,"column":20},"end":{"line":449,"column":null}},{"start":{"line":450,"column":20},"end":{"line":450,"column":null}}]},"57":{"loc":{"start":{"line":476,"column":25},"end":{"line":476,"column":null}},"type":"binary-expr","locations":[{"start":{"line":476,"column":25},"end":{"line":476,"column":56}},{"start":{"line":476,"column":60},"end":{"line":476,"column":null}}]},"58":{"loc":{"start":{"line":482,"column":16},"end":{"line":482,"column":null}},"type":"cond-expr","locations":[{"start":{"line":482,"column":53},"end":{"line":482,"column":58}},{"start":{"line":482,"column":58},"end":{"line":482,"column":null}}]}},"s":{"0":1,"1":0,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":2,"16":1,"17":1,"18":21,"19":1,"20":1,"21":1,"22":1,"23":0,"24":0,"25":1,"26":0,"27":0,"28":0},"f":{"0":2,"1":21,"2":1,"3":1,"4":0},"b":{"0":[21,20,19,18],"1":[0,1],"2":[0,1],"3":[0,1],"4":[0,1],"5":[0,1],"6":[0],"7":[0,0],"8":[0,1],"9":[1,1],"10":[0,1],"11":[0,1],"12":[0,1],"13":[0,1],"14":[0,1],"15":[0,1],"16":[0,1],"17":[0,1],"18":[0,1],"19":[0,1],"20":[0,1],"21":[0,1],"22":[0,1],"23":[0,1],"24":[0,1],"25":[0,1],"26":[0,1],"27":[0,1],"28":[1,1],"29":[0,1],"30":[0,1],"31":[0,1],"32":[0,1],"33":[0,1],"34":[0,1],"35":[0,1],"36":[0,1],"37":[0,1],"38":[0,1],"39":[0,1],"40":[0,1],"41":[0,1],"42":[0,1],"43":[0,1],"44":[0,1],"45":[0,1],"46":[0,1],"47":[0,1],"48":[0,1],"49":[0,1],"50":[0,1],"51":[0,1],"52":[0,1],"53":[0,1],"54":[0,1],"55":[0],"56":[0,1],"57":[0,0],"58":[0,0]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/pages/projects/making-easier-get-benefits/[id].js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/pages/projects/making-easier-get-benefits/[id].js","statementMap":{"0":{"start":{"line":12,"column":24},"end":{"line":12,"column":58}},"1":{"start":{"line":88,"column":22},"end":{"line":88,"column":36}},"2":{"start":{"line":103,"column":13},"end":{"line":103,"column":27}},"3":{"start":{"line":1,"column":39},"end":{"line":1,"column":null}},"4":{"start":{"line":2,"column":31},"end":{"line":2,"column":null}},"5":{"start":{"line":3,"column":21},"end":{"line":3,"column":null}},"6":{"start":{"line":4,"column":23},"end":{"line":4,"column":null}},"7":{"start":{"line":5,"column":36},"end":{"line":5,"column":null}},"8":{"start":{"line":6,"column":31},"end":{"line":6,"column":null}},"9":{"start":{"line":7,"column":32},"end":{"line":7,"column":null}},"10":{"start":{"line":8,"column":34},"end":{"line":8,"column":null}},"11":{"start":{"line":9,"column":27},"end":{"line":9,"column":null}},"12":{"start":{"line":10,"column":24},"end":{"line":10,"column":null}},"13":{"start":{"line":13,"column":16},"end":{"line":13,"column":null}},"14":{"start":{"line":14,"column":21},"end":{"line":14,"column":null}},"15":{"start":{"line":15,"column":23},"end":{"line":15,"column":null}},"16":{"start":{"line":17,"column":2},"end":{"line":22,"column":null}},"17":{"start":{"line":18,"column":4},"end":{"line":21,"column":null}},"18":{"start":{"line":19,"column":6},"end":{"line":19,"column":null}},"19":{"start":{"line":20,"column":6},"end":{"line":20,"column":null}},"20":{"start":{"line":90,"column":19},"end":{"line":91,"column":null}},"21":{"start":{"line":94,"column":16},"end":{"line":94,"column":null}},"22":{"start":{"line":96,"column":2},"end":{"line":96,"column":null}},"23":{"start":{"line":96,"column":23},"end":{"line":96,"column":null}},"24":{"start":{"line":97,"column":2},"end":{"line":100,"column":null}},"25":{"start":{"line":103,"column":30},"end":{"line":138,"column":null}},"26":{"start":{"line":105,"column":19},"end":{"line":106,"column":null}},"27":{"start":{"line":109,"column":31},"end":{"line":110,"column":null}},"28":{"start":{"line":112,"column":16},"end":{"line":112,"column":43}},"29":{"start":{"line":114,"column":19},"end":{"line":120,"column":null}},"30":{"start":{"line":115,"column":4},"end":{"line":118,"column":null}},"31":{"start":{"line":122,"column":2},"end":{"line":126,"column":null}},"32":{"start":{"line":123,"column":4},"end":{"line":125,"column":null}},"33":{"start":{"line":128,"column":2},"end":{"line":137,"column":null}}},"fnMap":{"0":{"name":"IntegratedChannelStrategyArticles","decl":{"start":{"line":12,"column":24},"end":{"line":12,"column":58}},"loc":{"start":{"line":12,"column":63},"end":{"line":86,"column":1}}},"1":{"name":"(anonymous_6)","decl":{"start":{"line":17,"column":12},"end":{"line":17,"column":null}},"loc":{"start":{"line":17,"column":12},"end":{"line":22,"column":5}}},"2":{"name":"getStaticPaths","decl":{"start":{"line":88,"column":22},"end":{"line":88,"column":36}},"loc":{"start":{"line":88,"column":22},"end":{"line":101,"column":null}}},"3":{"name":"(anonymous_8)","decl":{"start":{"line":96,"column":12},"end":{"line":96,"column":13}},"loc":{"start":{"line":96,"column":23},"end":{"line":96,"column":null}}},"4":{"name":"(anonymous_9)","decl":{"start":{"line":103,"column":30},"end":{"line":103,"column":37}},"loc":{"start":{"line":103,"column":55},"end":{"line":138,"column":null}}},"5":{"name":"(anonymous_10)","decl":{"start":{"line":114,"column":32},"end":{"line":114,"column":33}},"loc":{"start":{"line":114,"column":33},"end":{"line":120,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":18,"column":4},"end":{"line":21,"column":null}},"type":"if","locations":[{"start":{"line":18,"column":4},"end":{"line":21,"column":null}}]},"1":{"loc":{"start":{"line":19,"column":30},"end":{"line":19,"column":57}},"type":"binary-expr","locations":[{"start":{"line":19,"column":30},"end":{"line":19,"column":51}},{"start":{"line":19,"column":55},"end":{"line":19,"column":57}}]},"2":{"loc":{"start":{"line":29,"column":10},"end":{"line":29,"column":79}},"type":"cond-expr","locations":[{"start":{"line":29,"column":34},"end":{"line":29,"column":55}},{"start":{"line":29,"column":58},"end":{"line":29,"column":79}}]},"3":{"loc":{"start":{"line":44,"column":16},"end":{"line":44,"column":79}},"type":"cond-expr","locations":[{"start":{"line":44,"column":40},"end":{"line":44,"column":58}},{"start":{"line":44,"column":61},"end":{"line":44,"column":79}}]},"4":{"loc":{"start":{"line":50,"column":18},"end":{"line":50,"column":null}},"type":"cond-expr","locations":[{"start":{"line":50,"column":42},"end":{"line":50,"column":60}},{"start":{"line":50,"column":60},"end":{"line":50,"column":null}}]},"5":{"loc":{"start":{"line":53,"column":17},"end":{"line":55,"column":43}},"type":"cond-expr","locations":[{"start":{"line":54,"column":20},"end":{"line":54,"column":43}},{"start":{"line":55,"column":20},"end":{"line":55,"column":43}}]},"6":{"loc":{"start":{"line":62,"column":18},"end":{"line":62,"column":null}},"type":"cond-expr","locations":[{"start":{"line":62,"column":42},"end":{"line":62,"column":60}},{"start":{"line":62,"column":60},"end":{"line":62,"column":null}}]},"7":{"loc":{"start":{"line":65,"column":17},"end":{"line":67,"column":42}},"type":"cond-expr","locations":[{"start":{"line":66,"column":20},"end":{"line":66,"column":42}},{"start":{"line":67,"column":20},"end":{"line":67,"column":42}}]},"8":{"loc":{"start":{"line":116,"column":7},"end":{"line":116,"column":61}},"type":"cond-expr","locations":[{"start":{"line":116,"column":25},"end":{"line":116,"column":42}},{"start":{"line":116,"column":45},"end":{"line":116,"column":61}}]},"9":{"loc":{"start":{"line":122,"column":2},"end":{"line":126,"column":null}},"type":"if","locations":[{"start":{"line":122,"column":2},"end":{"line":126,"column":null}}]},"10":{"loc":{"start":{"line":122,"column":6},"end":{"line":122,"column":35}},"type":"binary-expr","locations":[{"start":{"line":122,"column":6},"end":{"line":122,"column":19}},{"start":{"line":122,"column":19},"end":{"line":122,"column":35}}]},"11":{"loc":{"start":{"line":133,"column":25},"end":{"line":133,"column":null}},"type":"binary-expr","locations":[{"start":{"line":133,"column":25},"end":{"line":133,"column":56}},{"start":{"line":133,"column":60},"end":{"line":133,"column":null}}]},"12":{"loc":{"start":{"line":136,"column":16},"end":{"line":136,"column":null}},"type":"cond-expr","locations":[{"start":{"line":136,"column":53},"end":{"line":136,"column":58}},{"start":{"line":136,"column":58},"end":{"line":136,"column":null}}]}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0],"10":[0,0],"11":[0,0],"12":[0,0]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/pages/projects/making-easier-get-benefits/index.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/pages/projects/making-easier-get-benefits/index.js","statementMap":{"0":{"start":{"line":16,"column":24},"end":{"line":16,"column":54}},"1":{"start":{"line":365,"column":13},"end":{"line":365,"column":27}},"2":{"start":{"line":1,"column":17},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":39},"end":{"line":2,"column":null}},"4":{"start":{"line":3,"column":23},"end":{"line":3,"column":null}},"5":{"start":{"line":4,"column":29},"end":{"line":4,"column":null}},"6":{"start":{"line":5,"column":36},"end":{"line":5,"column":null}},"7":{"start":{"line":6,"column":31},"end":{"line":6,"column":null}},"8":{"start":{"line":7,"column":28},"end":{"line":7,"column":null}},"9":{"start":{"line":8,"column":17},"end":{"line":8,"column":null}},"10":{"start":{"line":9,"column":34},"end":{"line":9,"column":null}},"11":{"start":{"line":10,"column":24},"end":{"line":10,"column":null}},"12":{"start":{"line":11,"column":23},"end":{"line":11,"column":null}},"13":{"start":{"line":12,"column":18},"end":{"line":12,"column":null}},"14":{"start":{"line":13,"column":28},"end":{"line":13,"column":null}},"15":{"start":{"line":14,"column":34},"end":{"line":14,"column":null}},"16":{"start":{"line":17,"column":21},"end":{"line":17,"column":null}},"17":{"start":{"line":18,"column":22},"end":{"line":18,"column":null}},"18":{"start":{"line":19,"column":31},"end":{"line":25,"column":null}},"19":{"start":{"line":22,"column":8},"end":{"line":25,"column":null}},"20":{"start":{"line":29,"column":32},"end":{"line":30,"column":26}},"21":{"start":{"line":30,"column":4},"end":{"line":30,"column":26}},"22":{"start":{"line":56,"column":2},"end":{"line":61,"column":null}},"23":{"start":{"line":57,"column":4},"end":{"line":60,"column":null}},"24":{"start":{"line":58,"column":6},"end":{"line":58,"column":null}},"25":{"start":{"line":59,"column":6},"end":{"line":59,"column":null}},"26":{"start":{"line":365,"column":30},"end":{"line":386,"column":null}},"27":{"start":{"line":367,"column":29},"end":{"line":368,"column":null}},"28":{"start":{"line":371,"column":31},"end":{"line":372,"column":null}},"29":{"start":{"line":375,"column":2},"end":{"line":385,"column":null}}},"fnMap":{"0":{"name":"IntegratedChannelStrategyPage","decl":{"start":{"line":16,"column":24},"end":{"line":16,"column":54}},"loc":{"start":{"line":16,"column":59},"end":{"line":363,"column":1}}},"1":{"name":"(anonymous_5)","decl":{"start":{"line":21,"column":6},"end":{"line":21,"column":7}},"loc":{"start":{"line":22,"column":8},"end":{"line":25,"column":null}}},"2":{"name":"(anonymous_6)","decl":{"start":{"line":29,"column":48},"end":{"line":29,"column":49}},"loc":{"start":{"line":30,"column":4},"end":{"line":30,"column":26}}},"3":{"name":"(anonymous_7)","decl":{"start":{"line":56,"column":12},"end":{"line":56,"column":null}},"loc":{"start":{"line":56,"column":12},"end":{"line":61,"column":5}}},"4":{"name":"(anonymous_8)","decl":{"start":{"line":365,"column":30},"end":{"line":365,"column":37}},"loc":{"start":{"line":365,"column":47},"end":{"line":386,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":22,"column":8},"end":{"line":25,"column":null}},"type":"binary-expr","locations":[{"start":{"line":22,"column":8},"end":{"line":22,"column":null}},{"start":{"line":23,"column":8},"end":{"line":23,"column":null}},{"start":{"line":24,"column":8},"end":{"line":24,"column":null}},{"start":{"line":25,"column":8},"end":{"line":25,"column":null}}]},"1":{"loc":{"start":{"line":34,"column":10},"end":{"line":36,"column":73}},"type":"cond-expr","locations":[{"start":{"line":35,"column":14},"end":{"line":35,"column":73}},{"start":{"line":36,"column":14},"end":{"line":36,"column":73}}]},"2":{"loc":{"start":{"line":39,"column":10},"end":{"line":41,"column":null}},"type":"binary-expr","locations":[{"start":{"line":39,"column":11},"end":{"line":41,"column":47}},{"start":{"line":41,"column":53},"end":{"line":41,"column":null}}]},"3":{"loc":{"start":{"line":39,"column":11},"end":{"line":41,"column":47}},"type":"cond-expr","locations":[{"start":{"line":40,"column":14},"end":{"line":40,"column":48}},{"start":{"line":41,"column":14},"end":{"line":41,"column":47}}]},"4":{"loc":{"start":{"line":45,"column":15},"end":{"line":45,"column":74}},"type":"cond-expr","locations":[{"start":{"line":45,"column":39},"end":{"line":45,"column":55}},{"start":{"line":45,"column":58},"end":{"line":45,"column":74}}]},"5":{"loc":{"start":{"line":46,"column":14},"end":{"line":46,"column":79}},"type":"cond-expr","locations":[{"start":{"line":46,"column":38},"end":{"line":46,"column":57}},{"start":{"line":46,"column":60},"end":{"line":46,"column":79}}]},"6":{"loc":{"start":{"line":48,"column":10},"end":{"line":50,"column":49}},"type":"cond-expr","locations":[{"start":{"line":49,"column":14},"end":{"line":49,"column":49}},{"start":{"line":50,"column":14},"end":{"line":50,"column":49}}]},"7":{"loc":{"start":{"line":57,"column":4},"end":{"line":60,"column":null}},"type":"if","locations":[{"start":{"line":57,"column":4},"end":{"line":60,"column":null}}]},"8":{"loc":{"start":{"line":58,"column":30},"end":{"line":58,"column":57}},"type":"binary-expr","locations":[{"start":{"line":58,"column":30},"end":{"line":58,"column":51}},{"start":{"line":58,"column":55},"end":{"line":58,"column":57}}]},"9":{"loc":{"start":{"line":68,"column":10},"end":{"line":68,"column":79}},"type":"cond-expr","locations":[{"start":{"line":68,"column":34},"end":{"line":68,"column":55}},{"start":{"line":68,"column":58},"end":{"line":68,"column":79}}]},"10":{"loc":{"start":{"line":79,"column":13},"end":{"line":81,"column":72}},"type":"cond-expr","locations":[{"start":{"line":80,"column":16},"end":{"line":80,"column":61}},{"start":{"line":81,"column":16},"end":{"line":81,"column":72}}]},"11":{"loc":{"start":{"line":86,"column":14},"end":{"line":88,"column":67}},"type":"cond-expr","locations":[{"start":{"line":87,"column":18},"end":{"line":87,"column":67}},{"start":{"line":88,"column":18},"end":{"line":88,"column":67}}]},"12":{"loc":{"start":{"line":98,"column":16},"end":{"line":100,"column":41}},"type":"cond-expr","locations":[{"start":{"line":99,"column":20},"end":{"line":99,"column":41}},{"start":{"line":100,"column":20},"end":{"line":100,"column":41}}]},"13":{"loc":{"start":{"line":108,"column":14},"end":{"line":110,"column":39}},"type":"cond-expr","locations":[{"start":{"line":109,"column":18},"end":{"line":109,"column":39}},{"start":{"line":110,"column":18},"end":{"line":110,"column":39}}]},"14":{"loc":{"start":{"line":118,"column":14},"end":{"line":118,"column":77}},"type":"cond-expr","locations":[{"start":{"line":118,"column":38},"end":{"line":118,"column":56}},{"start":{"line":118,"column":59},"end":{"line":118,"column":77}}]},"15":{"loc":{"start":{"line":123,"column":21},"end":{"line":123,"column":null}},"type":"cond-expr","locations":[{"start":{"line":123,"column":45},"end":{"line":123,"column":53}},{"start":{"line":123,"column":53},"end":{"line":123,"column":null}}]},"16":{"loc":{"start":{"line":129,"column":14},"end":{"line":131,"column":null}},"type":"cond-expr","locations":[{"start":{"line":130,"column":18},"end":{"line":130,"column":null}},{"start":{"line":131,"column":18},"end":{"line":131,"column":null}}]},"17":{"loc":{"start":{"line":145,"column":14},"end":{"line":147,"column":67}},"type":"cond-expr","locations":[{"start":{"line":146,"column":18},"end":{"line":146,"column":67}},{"start":{"line":147,"column":18},"end":{"line":147,"column":67}}]},"18":{"loc":{"start":{"line":165,"column":16},"end":{"line":167,"column":41}},"type":"cond-expr","locations":[{"start":{"line":166,"column":20},"end":{"line":166,"column":41}},{"start":{"line":167,"column":20},"end":{"line":167,"column":41}}]},"19":{"loc":{"start":{"line":174,"column":14},"end":{"line":174,"column":77}},"type":"cond-expr","locations":[{"start":{"line":174,"column":38},"end":{"line":174,"column":56}},{"start":{"line":174,"column":59},"end":{"line":174,"column":77}}]},"20":{"loc":{"start":{"line":180,"column":14},"end":{"line":182,"column":78}},"type":"cond-expr","locations":[{"start":{"line":181,"column":18},"end":{"line":181,"column":78}},{"start":{"line":182,"column":18},"end":{"line":182,"column":78}}]},"21":{"loc":{"start":{"line":192,"column":14},"end":{"line":192,"column":77}},"type":"cond-expr","locations":[{"start":{"line":192,"column":38},"end":{"line":192,"column":56}},{"start":{"line":192,"column":59},"end":{"line":192,"column":77}}]},"22":{"loc":{"start":{"line":203,"column":16},"end":{"line":205,"column":41}},"type":"cond-expr","locations":[{"start":{"line":204,"column":20},"end":{"line":204,"column":41}},{"start":{"line":205,"column":20},"end":{"line":205,"column":41}}]},"23":{"loc":{"start":{"line":212,"column":14},"end":{"line":212,"column":77}},"type":"cond-expr","locations":[{"start":{"line":212,"column":38},"end":{"line":212,"column":56}},{"start":{"line":212,"column":59},"end":{"line":212,"column":77}}]},"24":{"loc":{"start":{"line":219,"column":14},"end":{"line":221,"column":78}},"type":"cond-expr","locations":[{"start":{"line":220,"column":18},"end":{"line":220,"column":78}},{"start":{"line":221,"column":18},"end":{"line":221,"column":78}}]},"25":{"loc":{"start":{"line":231,"column":14},"end":{"line":231,"column":77}},"type":"cond-expr","locations":[{"start":{"line":231,"column":38},"end":{"line":231,"column":56}},{"start":{"line":231,"column":59},"end":{"line":231,"column":77}}]},"26":{"loc":{"start":{"line":244,"column":20},"end":{"line":246,"column":42}},"type":"cond-expr","locations":[{"start":{"line":245,"column":24},"end":{"line":245,"column":42}},{"start":{"line":246,"column":24},"end":{"line":246,"column":42}}]},"27":{"loc":{"start":{"line":255,"column":24},"end":{"line":257,"column":73}},"type":"cond-expr","locations":[{"start":{"line":256,"column":28},"end":{"line":256,"column":73}},{"start":{"line":257,"column":28},"end":{"line":257,"column":73}}]},"28":{"loc":{"start":{"line":260,"column":24},"end":{"line":262,"column":null}},"type":"binary-expr","locations":[{"start":{"line":260,"column":25},"end":{"line":262,"column":67}},{"start":{"line":262,"column":73},"end":{"line":262,"column":null}}]},"29":{"loc":{"start":{"line":260,"column":25},"end":{"line":262,"column":67}},"type":"cond-expr","locations":[{"start":{"line":261,"column":28},"end":{"line":261,"column":68}},{"start":{"line":262,"column":28},"end":{"line":262,"column":67}}]},"30":{"loc":{"start":{"line":274,"column":17},"end":{"line":277,"column":28}},"type":"cond-expr","locations":[{"start":{"line":275,"column":20},"end":{"line":275,"column":80}},{"start":{"line":276,"column":20},"end":{"line":277,"column":28}}]},"31":{"loc":{"start":{"line":283,"column":20},"end":{"line":285,"column":54}},"type":"cond-expr","locations":[{"start":{"line":284,"column":24},"end":{"line":284,"column":54}},{"start":{"line":285,"column":24},"end":{"line":285,"column":54}}]},"32":{"loc":{"start":{"line":288,"column":20},"end":{"line":290,"column":54}},"type":"cond-expr","locations":[{"start":{"line":289,"column":24},"end":{"line":289,"column":54}},{"start":{"line":290,"column":24},"end":{"line":290,"column":54}}]},"33":{"loc":{"start":{"line":293,"column":20},"end":{"line":295,"column":54}},"type":"cond-expr","locations":[{"start":{"line":294,"column":24},"end":{"line":294,"column":54}},{"start":{"line":295,"column":24},"end":{"line":295,"column":54}}]},"34":{"loc":{"start":{"line":301,"column":20},"end":{"line":305,"column":32}},"type":"cond-expr","locations":[{"start":{"line":302,"column":24},"end":{"line":303,"column":32}},{"start":{"line":304,"column":24},"end":{"line":305,"column":32}}]},"35":{"loc":{"start":{"line":308,"column":20},"end":{"line":312,"column":32}},"type":"cond-expr","locations":[{"start":{"line":309,"column":24},"end":{"line":310,"column":32}},{"start":{"line":311,"column":24},"end":{"line":312,"column":32}}]},"36":{"loc":{"start":{"line":315,"column":20},"end":{"line":317,"column":57}},"type":"cond-expr","locations":[{"start":{"line":316,"column":24},"end":{"line":316,"column":57}},{"start":{"line":317,"column":24},"end":{"line":317,"column":57}}]},"37":{"loc":{"start":{"line":320,"column":20},"end":{"line":322,"column":70}},"type":"cond-expr","locations":[{"start":{"line":321,"column":24},"end":{"line":321,"column":70}},{"start":{"line":322,"column":24},"end":{"line":322,"column":70}}]},"38":{"loc":{"start":{"line":325,"column":20},"end":{"line":329,"column":32}},"type":"cond-expr","locations":[{"start":{"line":326,"column":24},"end":{"line":327,"column":32}},{"start":{"line":328,"column":24},"end":{"line":329,"column":32}}]},"39":{"loc":{"start":{"line":339,"column":18},"end":{"line":341,"column":null}},"type":"cond-expr","locations":[{"start":{"line":340,"column":22},"end":{"line":340,"column":null}},{"start":{"line":341,"column":22},"end":{"line":341,"column":null}}]},"40":{"loc":{"start":{"line":347,"column":38},"end":{"line":347,"column":null}},"type":"cond-expr","locations":[{"start":{"line":347,"column":38},"end":{"line":347,"column":null}}]},"41":{"loc":{"start":{"line":350,"column":17},"end":{"line":352,"column":null}},"type":"cond-expr","locations":[{"start":{"line":351,"column":20},"end":{"line":351,"column":null}},{"start":{"line":352,"column":20},"end":{"line":352,"column":null}}]},"42":{"loc":{"start":{"line":378,"column":25},"end":{"line":378,"column":null}},"type":"binary-expr","locations":[{"start":{"line":378,"column":25},"end":{"line":378,"column":56}},{"start":{"line":378,"column":60},"end":{"line":378,"column":null}}]},"43":{"loc":{"start":{"line":384,"column":16},"end":{"line":384,"column":null}},"type":"cond-expr","locations":[{"start":{"line":384,"column":53},"end":{"line":384,"column":58}},{"start":{"line":384,"column":58},"end":{"line":384,"column":null}}]}},"s":{"0":1,"1":0,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":2,"17":1,"18":1,"19":21,"20":1,"21":0,"22":1,"23":1,"24":0,"25":0,"26":1,"27":0,"28":0,"29":0},"f":{"0":2,"1":21,"2":0,"3":1,"4":0},"b":{"0":[21,20,19,18],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0],"8":[0,0],"9":[0,1],"10":[0,1],"11":[0,1],"12":[0,1],"13":[0,1],"14":[0,1],"15":[0,1],"16":[0,1],"17":[0,1],"18":[0,1],"19":[0,1],"20":[0,1],"21":[0,1],"22":[0,1],"23":[0,1],"24":[0,1],"25":[0,1],"26":[0,1],"27":[0,1],"28":[1,0],"29":[0,1],"30":[0,1],"31":[0,1],"32":[0,1],"33":[0,1],"34":[0,1],"35":[0,1],"36":[0,1],"37":[0,1],"38":[0,1],"39":[0,1],"40":[1],"41":[0,0],"42":[0,0],"43":[0,0]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/pages/projects/oas-benefits-estimator/[id].js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/pages/projects/oas-benefits-estimator/[id].js","statementMap":{"0":{"start":{"line":12,"column":24},"end":{"line":12,"column":53}},"1":{"start":{"line":88,"column":22},"end":{"line":88,"column":36}},"2":{"start":{"line":103,"column":13},"end":{"line":103,"column":27}},"3":{"start":{"line":1,"column":39},"end":{"line":1,"column":null}},"4":{"start":{"line":2,"column":31},"end":{"line":2,"column":null}},"5":{"start":{"line":3,"column":21},"end":{"line":3,"column":null}},"6":{"start":{"line":4,"column":23},"end":{"line":4,"column":null}},"7":{"start":{"line":5,"column":36},"end":{"line":5,"column":null}},"8":{"start":{"line":6,"column":31},"end":{"line":6,"column":null}},"9":{"start":{"line":7,"column":32},"end":{"line":7,"column":null}},"10":{"start":{"line":8,"column":34},"end":{"line":8,"column":null}},"11":{"start":{"line":9,"column":27},"end":{"line":9,"column":null}},"12":{"start":{"line":10,"column":24},"end":{"line":10,"column":null}},"13":{"start":{"line":13,"column":16},"end":{"line":13,"column":null}},"14":{"start":{"line":14,"column":21},"end":{"line":14,"column":null}},"15":{"start":{"line":15,"column":23},"end":{"line":15,"column":null}},"16":{"start":{"line":17,"column":2},"end":{"line":22,"column":null}},"17":{"start":{"line":18,"column":4},"end":{"line":21,"column":null}},"18":{"start":{"line":19,"column":6},"end":{"line":19,"column":null}},"19":{"start":{"line":20,"column":6},"end":{"line":20,"column":null}},"20":{"start":{"line":90,"column":19},"end":{"line":91,"column":null}},"21":{"start":{"line":94,"column":16},"end":{"line":94,"column":null}},"22":{"start":{"line":96,"column":2},"end":{"line":96,"column":null}},"23":{"start":{"line":96,"column":23},"end":{"line":96,"column":null}},"24":{"start":{"line":97,"column":2},"end":{"line":100,"column":null}},"25":{"start":{"line":103,"column":30},"end":{"line":138,"column":null}},"26":{"start":{"line":105,"column":19},"end":{"line":106,"column":null}},"27":{"start":{"line":109,"column":31},"end":{"line":110,"column":null}},"28":{"start":{"line":112,"column":16},"end":{"line":112,"column":43}},"29":{"start":{"line":114,"column":19},"end":{"line":120,"column":null}},"30":{"start":{"line":115,"column":4},"end":{"line":118,"column":null}},"31":{"start":{"line":122,"column":2},"end":{"line":126,"column":null}},"32":{"start":{"line":123,"column":4},"end":{"line":125,"column":null}},"33":{"start":{"line":128,"column":2},"end":{"line":137,"column":null}}},"fnMap":{"0":{"name":"OASBenefitsEstimatorArticles","decl":{"start":{"line":12,"column":24},"end":{"line":12,"column":53}},"loc":{"start":{"line":12,"column":58},"end":{"line":86,"column":1}}},"1":{"name":"(anonymous_6)","decl":{"start":{"line":17,"column":12},"end":{"line":17,"column":null}},"loc":{"start":{"line":17,"column":12},"end":{"line":22,"column":5}}},"2":{"name":"getStaticPaths","decl":{"start":{"line":88,"column":22},"end":{"line":88,"column":36}},"loc":{"start":{"line":88,"column":22},"end":{"line":101,"column":null}}},"3":{"name":"(anonymous_8)","decl":{"start":{"line":96,"column":12},"end":{"line":96,"column":13}},"loc":{"start":{"line":96,"column":23},"end":{"line":96,"column":null}}},"4":{"name":"(anonymous_9)","decl":{"start":{"line":103,"column":30},"end":{"line":103,"column":37}},"loc":{"start":{"line":103,"column":55},"end":{"line":138,"column":null}}},"5":{"name":"(anonymous_10)","decl":{"start":{"line":114,"column":32},"end":{"line":114,"column":33}},"loc":{"start":{"line":114,"column":33},"end":{"line":120,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":18,"column":4},"end":{"line":21,"column":null}},"type":"if","locations":[{"start":{"line":18,"column":4},"end":{"line":21,"column":null}}]},"1":{"loc":{"start":{"line":19,"column":30},"end":{"line":19,"column":57}},"type":"binary-expr","locations":[{"start":{"line":19,"column":30},"end":{"line":19,"column":51}},{"start":{"line":19,"column":55},"end":{"line":19,"column":57}}]},"2":{"loc":{"start":{"line":29,"column":10},"end":{"line":29,"column":79}},"type":"cond-expr","locations":[{"start":{"line":29,"column":34},"end":{"line":29,"column":55}},{"start":{"line":29,"column":58},"end":{"line":29,"column":79}}]},"3":{"loc":{"start":{"line":44,"column":16},"end":{"line":44,"column":79}},"type":"cond-expr","locations":[{"start":{"line":44,"column":40},"end":{"line":44,"column":58}},{"start":{"line":44,"column":61},"end":{"line":44,"column":79}}]},"4":{"loc":{"start":{"line":50,"column":18},"end":{"line":50,"column":null}},"type":"cond-expr","locations":[{"start":{"line":50,"column":42},"end":{"line":50,"column":60}},{"start":{"line":50,"column":60},"end":{"line":50,"column":null}}]},"5":{"loc":{"start":{"line":53,"column":17},"end":{"line":55,"column":43}},"type":"cond-expr","locations":[{"start":{"line":54,"column":20},"end":{"line":54,"column":43}},{"start":{"line":55,"column":20},"end":{"line":55,"column":43}}]},"6":{"loc":{"start":{"line":62,"column":18},"end":{"line":62,"column":null}},"type":"cond-expr","locations":[{"start":{"line":62,"column":42},"end":{"line":62,"column":60}},{"start":{"line":62,"column":60},"end":{"line":62,"column":null}}]},"7":{"loc":{"start":{"line":65,"column":17},"end":{"line":67,"column":42}},"type":"cond-expr","locations":[{"start":{"line":66,"column":20},"end":{"line":66,"column":42}},{"start":{"line":67,"column":20},"end":{"line":67,"column":42}}]},"8":{"loc":{"start":{"line":116,"column":7},"end":{"line":116,"column":61}},"type":"cond-expr","locations":[{"start":{"line":116,"column":25},"end":{"line":116,"column":42}},{"start":{"line":116,"column":45},"end":{"line":116,"column":61}}]},"9":{"loc":{"start":{"line":122,"column":2},"end":{"line":126,"column":null}},"type":"if","locations":[{"start":{"line":122,"column":2},"end":{"line":126,"column":null}}]},"10":{"loc":{"start":{"line":122,"column":6},"end":{"line":122,"column":35}},"type":"binary-expr","locations":[{"start":{"line":122,"column":6},"end":{"line":122,"column":19}},{"start":{"line":122,"column":19},"end":{"line":122,"column":35}}]},"11":{"loc":{"start":{"line":133,"column":25},"end":{"line":133,"column":null}},"type":"binary-expr","locations":[{"start":{"line":133,"column":25},"end":{"line":133,"column":56}},{"start":{"line":133,"column":60},"end":{"line":133,"column":null}}]},"12":{"loc":{"start":{"line":136,"column":16},"end":{"line":136,"column":null}},"type":"cond-expr","locations":[{"start":{"line":136,"column":53},"end":{"line":136,"column":58}},{"start":{"line":136,"column":58},"end":{"line":136,"column":null}}]}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0],"10":[0,0],"11":[0,0],"12":[0,0]}} +,"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/pages/projects/oas-benefits-estimator/index.js": {"path":"/home/runner/work/Service-Canada-Labs/Service-Canada-Labs/pages/projects/oas-benefits-estimator/index.js","statementMap":{"0":{"start":{"line":15,"column":24},"end":{"line":15,"column":45}},"1":{"start":{"line":417,"column":13},"end":{"line":417,"column":27}},"2":{"start":{"line":1,"column":17},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":39},"end":{"line":2,"column":null}},"4":{"start":{"line":3,"column":23},"end":{"line":3,"column":null}},"5":{"start":{"line":4,"column":29},"end":{"line":4,"column":null}},"6":{"start":{"line":5,"column":36},"end":{"line":5,"column":null}},"7":{"start":{"line":6,"column":31},"end":{"line":6,"column":null}},"8":{"start":{"line":7,"column":28},"end":{"line":7,"column":null}},"9":{"start":{"line":8,"column":17},"end":{"line":8,"column":null}},"10":{"start":{"line":9,"column":34},"end":{"line":9,"column":null}},"11":{"start":{"line":10,"column":24},"end":{"line":10,"column":null}},"12":{"start":{"line":11,"column":18},"end":{"line":11,"column":null}},"13":{"start":{"line":12,"column":28},"end":{"line":12,"column":null}},"14":{"start":{"line":13,"column":34},"end":{"line":13,"column":null}},"15":{"start":{"line":16,"column":21},"end":{"line":16,"column":null}},"16":{"start":{"line":17,"column":22},"end":{"line":17,"column":null}},"17":{"start":{"line":18,"column":31},"end":{"line":24,"column":null}},"18":{"start":{"line":21,"column":8},"end":{"line":24,"column":null}},"19":{"start":{"line":28,"column":32},"end":{"line":29,"column":26}},"20":{"start":{"line":29,"column":4},"end":{"line":29,"column":26}},"21":{"start":{"line":55,"column":2},"end":{"line":60,"column":null}},"22":{"start":{"line":56,"column":4},"end":{"line":59,"column":null}},"23":{"start":{"line":57,"column":6},"end":{"line":57,"column":null}},"24":{"start":{"line":58,"column":6},"end":{"line":58,"column":null}},"25":{"start":{"line":417,"column":30},"end":{"line":438,"column":null}},"26":{"start":{"line":419,"column":29},"end":{"line":420,"column":null}},"27":{"start":{"line":423,"column":31},"end":{"line":424,"column":null}},"28":{"start":{"line":427,"column":2},"end":{"line":437,"column":null}}},"fnMap":{"0":{"name":"OasBenefitsEstimator","decl":{"start":{"line":15,"column":24},"end":{"line":15,"column":45}},"loc":{"start":{"line":15,"column":50},"end":{"line":415,"column":1}}},"1":{"name":"(anonymous_5)","decl":{"start":{"line":20,"column":6},"end":{"line":20,"column":7}},"loc":{"start":{"line":21,"column":8},"end":{"line":24,"column":null}}},"2":{"name":"(anonymous_6)","decl":{"start":{"line":28,"column":48},"end":{"line":28,"column":49}},"loc":{"start":{"line":29,"column":4},"end":{"line":29,"column":26}}},"3":{"name":"(anonymous_7)","decl":{"start":{"line":55,"column":12},"end":{"line":55,"column":null}},"loc":{"start":{"line":55,"column":12},"end":{"line":60,"column":5}}},"4":{"name":"(anonymous_8)","decl":{"start":{"line":417,"column":30},"end":{"line":417,"column":37}},"loc":{"start":{"line":417,"column":47},"end":{"line":438,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":21,"column":8},"end":{"line":24,"column":null}},"type":"binary-expr","locations":[{"start":{"line":21,"column":8},"end":{"line":21,"column":null}},{"start":{"line":22,"column":8},"end":{"line":22,"column":null}},{"start":{"line":23,"column":8},"end":{"line":23,"column":null}},{"start":{"line":24,"column":8},"end":{"line":24,"column":null}}]},"1":{"loc":{"start":{"line":33,"column":10},"end":{"line":35,"column":73}},"type":"cond-expr","locations":[{"start":{"line":34,"column":14},"end":{"line":34,"column":73}},{"start":{"line":35,"column":14},"end":{"line":35,"column":73}}]},"2":{"loc":{"start":{"line":38,"column":10},"end":{"line":40,"column":null}},"type":"binary-expr","locations":[{"start":{"line":38,"column":11},"end":{"line":40,"column":47}},{"start":{"line":40,"column":53},"end":{"line":40,"column":null}}]},"3":{"loc":{"start":{"line":38,"column":11},"end":{"line":40,"column":47}},"type":"cond-expr","locations":[{"start":{"line":39,"column":14},"end":{"line":39,"column":48}},{"start":{"line":40,"column":14},"end":{"line":40,"column":47}}]},"4":{"loc":{"start":{"line":44,"column":15},"end":{"line":44,"column":74}},"type":"cond-expr","locations":[{"start":{"line":44,"column":39},"end":{"line":44,"column":55}},{"start":{"line":44,"column":58},"end":{"line":44,"column":74}}]},"5":{"loc":{"start":{"line":45,"column":14},"end":{"line":45,"column":79}},"type":"cond-expr","locations":[{"start":{"line":45,"column":38},"end":{"line":45,"column":57}},{"start":{"line":45,"column":60},"end":{"line":45,"column":79}}]},"6":{"loc":{"start":{"line":47,"column":10},"end":{"line":49,"column":49}},"type":"cond-expr","locations":[{"start":{"line":48,"column":14},"end":{"line":48,"column":49}},{"start":{"line":49,"column":14},"end":{"line":49,"column":49}}]},"7":{"loc":{"start":{"line":56,"column":4},"end":{"line":59,"column":null}},"type":"if","locations":[{"start":{"line":56,"column":4},"end":{"line":59,"column":null}}]},"8":{"loc":{"start":{"line":57,"column":30},"end":{"line":57,"column":57}},"type":"binary-expr","locations":[{"start":{"line":57,"column":30},"end":{"line":57,"column":51}},{"start":{"line":57,"column":55},"end":{"line":57,"column":57}}]},"9":{"loc":{"start":{"line":67,"column":10},"end":{"line":67,"column":79}},"type":"cond-expr","locations":[{"start":{"line":67,"column":34},"end":{"line":67,"column":55}},{"start":{"line":67,"column":58},"end":{"line":67,"column":79}}]},"10":{"loc":{"start":{"line":78,"column":13},"end":{"line":80,"column":72}},"type":"cond-expr","locations":[{"start":{"line":79,"column":16},"end":{"line":79,"column":61}},{"start":{"line":80,"column":16},"end":{"line":80,"column":72}}]},"11":{"loc":{"start":{"line":85,"column":14},"end":{"line":87,"column":67}},"type":"cond-expr","locations":[{"start":{"line":86,"column":18},"end":{"line":86,"column":67}},{"start":{"line":87,"column":18},"end":{"line":87,"column":67}}]},"12":{"loc":{"start":{"line":97,"column":16},"end":{"line":99,"column":41}},"type":"cond-expr","locations":[{"start":{"line":98,"column":20},"end":{"line":98,"column":41}},{"start":{"line":99,"column":20},"end":{"line":99,"column":41}}]},"13":{"loc":{"start":{"line":107,"column":14},"end":{"line":109,"column":39}},"type":"cond-expr","locations":[{"start":{"line":108,"column":18},"end":{"line":108,"column":39}},{"start":{"line":109,"column":18},"end":{"line":109,"column":39}}]},"14":{"loc":{"start":{"line":117,"column":14},"end":{"line":117,"column":77}},"type":"cond-expr","locations":[{"start":{"line":117,"column":38},"end":{"line":117,"column":56}},{"start":{"line":117,"column":59},"end":{"line":117,"column":77}}]},"15":{"loc":{"start":{"line":122,"column":21},"end":{"line":122,"column":null}},"type":"cond-expr","locations":[{"start":{"line":122,"column":45},"end":{"line":122,"column":53}},{"start":{"line":122,"column":53},"end":{"line":122,"column":null}}]},"16":{"loc":{"start":{"line":128,"column":14},"end":{"line":130,"column":null}},"type":"cond-expr","locations":[{"start":{"line":129,"column":18},"end":{"line":129,"column":null}},{"start":{"line":130,"column":18},"end":{"line":130,"column":null}}]},"17":{"loc":{"start":{"line":144,"column":14},"end":{"line":146,"column":67}},"type":"cond-expr","locations":[{"start":{"line":145,"column":18},"end":{"line":145,"column":67}},{"start":{"line":146,"column":18},"end":{"line":146,"column":67}}]},"18":{"loc":{"start":{"line":164,"column":16},"end":{"line":166,"column":41}},"type":"cond-expr","locations":[{"start":{"line":165,"column":20},"end":{"line":165,"column":41}},{"start":{"line":166,"column":20},"end":{"line":166,"column":41}}]},"19":{"loc":{"start":{"line":173,"column":14},"end":{"line":173,"column":77}},"type":"cond-expr","locations":[{"start":{"line":173,"column":38},"end":{"line":173,"column":56}},{"start":{"line":173,"column":59},"end":{"line":173,"column":77}}]},"20":{"loc":{"start":{"line":179,"column":14},"end":{"line":181,"column":78}},"type":"cond-expr","locations":[{"start":{"line":180,"column":18},"end":{"line":180,"column":78}},{"start":{"line":181,"column":18},"end":{"line":181,"column":78}}]},"21":{"loc":{"start":{"line":191,"column":14},"end":{"line":191,"column":77}},"type":"cond-expr","locations":[{"start":{"line":191,"column":38},"end":{"line":191,"column":56}},{"start":{"line":191,"column":59},"end":{"line":191,"column":77}}]},"22":{"loc":{"start":{"line":202,"column":16},"end":{"line":204,"column":41}},"type":"cond-expr","locations":[{"start":{"line":203,"column":20},"end":{"line":203,"column":41}},{"start":{"line":204,"column":20},"end":{"line":204,"column":41}}]},"23":{"loc":{"start":{"line":211,"column":14},"end":{"line":211,"column":77}},"type":"cond-expr","locations":[{"start":{"line":211,"column":38},"end":{"line":211,"column":56}},{"start":{"line":211,"column":59},"end":{"line":211,"column":77}}]},"24":{"loc":{"start":{"line":218,"column":14},"end":{"line":220,"column":78}},"type":"cond-expr","locations":[{"start":{"line":219,"column":18},"end":{"line":219,"column":78}},{"start":{"line":220,"column":18},"end":{"line":220,"column":78}}]},"25":{"loc":{"start":{"line":230,"column":14},"end":{"line":230,"column":77}},"type":"cond-expr","locations":[{"start":{"line":230,"column":38},"end":{"line":230,"column":56}},{"start":{"line":230,"column":59},"end":{"line":230,"column":77}}]},"26":{"loc":{"start":{"line":243,"column":20},"end":{"line":245,"column":42}},"type":"cond-expr","locations":[{"start":{"line":244,"column":24},"end":{"line":244,"column":42}},{"start":{"line":245,"column":24},"end":{"line":245,"column":42}}]},"27":{"loc":{"start":{"line":254,"column":24},"end":{"line":256,"column":73}},"type":"cond-expr","locations":[{"start":{"line":255,"column":28},"end":{"line":255,"column":73}},{"start":{"line":256,"column":28},"end":{"line":256,"column":73}}]},"28":{"loc":{"start":{"line":259,"column":24},"end":{"line":261,"column":null}},"type":"binary-expr","locations":[{"start":{"line":259,"column":25},"end":{"line":261,"column":67}},{"start":{"line":261,"column":73},"end":{"line":261,"column":null}}]},"29":{"loc":{"start":{"line":259,"column":25},"end":{"line":261,"column":67}},"type":"cond-expr","locations":[{"start":{"line":260,"column":28},"end":{"line":260,"column":68}},{"start":{"line":261,"column":28},"end":{"line":261,"column":67}}]},"30":{"loc":{"start":{"line":273,"column":17},"end":{"line":276,"column":28}},"type":"cond-expr","locations":[{"start":{"line":274,"column":20},"end":{"line":274,"column":80}},{"start":{"line":275,"column":20},"end":{"line":276,"column":28}}]},"31":{"loc":{"start":{"line":282,"column":20},"end":{"line":284,"column":54}},"type":"cond-expr","locations":[{"start":{"line":283,"column":24},"end":{"line":283,"column":54}},{"start":{"line":284,"column":24},"end":{"line":284,"column":54}}]},"32":{"loc":{"start":{"line":287,"column":20},"end":{"line":289,"column":54}},"type":"cond-expr","locations":[{"start":{"line":288,"column":24},"end":{"line":288,"column":54}},{"start":{"line":289,"column":24},"end":{"line":289,"column":54}}]},"33":{"loc":{"start":{"line":292,"column":20},"end":{"line":294,"column":54}},"type":"cond-expr","locations":[{"start":{"line":293,"column":24},"end":{"line":293,"column":54}},{"start":{"line":294,"column":24},"end":{"line":294,"column":54}}]},"34":{"loc":{"start":{"line":300,"column":20},"end":{"line":304,"column":32}},"type":"cond-expr","locations":[{"start":{"line":301,"column":24},"end":{"line":302,"column":32}},{"start":{"line":303,"column":24},"end":{"line":304,"column":32}}]},"35":{"loc":{"start":{"line":307,"column":20},"end":{"line":311,"column":32}},"type":"cond-expr","locations":[{"start":{"line":308,"column":24},"end":{"line":309,"column":32}},{"start":{"line":310,"column":24},"end":{"line":311,"column":32}}]},"36":{"loc":{"start":{"line":314,"column":20},"end":{"line":316,"column":57}},"type":"cond-expr","locations":[{"start":{"line":315,"column":24},"end":{"line":315,"column":57}},{"start":{"line":316,"column":24},"end":{"line":316,"column":57}}]},"37":{"loc":{"start":{"line":319,"column":20},"end":{"line":321,"column":70}},"type":"cond-expr","locations":[{"start":{"line":320,"column":24},"end":{"line":320,"column":70}},{"start":{"line":321,"column":24},"end":{"line":321,"column":70}}]},"38":{"loc":{"start":{"line":324,"column":20},"end":{"line":328,"column":32}},"type":"cond-expr","locations":[{"start":{"line":325,"column":24},"end":{"line":326,"column":32}},{"start":{"line":327,"column":24},"end":{"line":328,"column":32}}]},"39":{"loc":{"start":{"line":336,"column":15},"end":{"line":338,"column":78}},"type":"cond-expr","locations":[{"start":{"line":337,"column":18},"end":{"line":337,"column":78}},{"start":{"line":338,"column":18},"end":{"line":338,"column":78}}]},"40":{"loc":{"start":{"line":345,"column":16},"end":{"line":347,"column":62}},"type":"cond-expr","locations":[{"start":{"line":346,"column":20},"end":{"line":346,"column":62}},{"start":{"line":347,"column":20},"end":{"line":347,"column":62}}]},"41":{"loc":{"start":{"line":350,"column":16},"end":{"line":352,"column":53}},"type":"cond-expr","locations":[{"start":{"line":351,"column":20},"end":{"line":351,"column":53}},{"start":{"line":352,"column":20},"end":{"line":352,"column":53}}]},"42":{"loc":{"start":{"line":357,"column":15},"end":{"line":359,"column":78}},"type":"cond-expr","locations":[{"start":{"line":358,"column":18},"end":{"line":358,"column":78}},{"start":{"line":359,"column":18},"end":{"line":359,"column":78}}]},"43":{"loc":{"start":{"line":362,"column":15},"end":{"line":364,"column":78}},"type":"cond-expr","locations":[{"start":{"line":363,"column":18},"end":{"line":363,"column":78}},{"start":{"line":364,"column":18},"end":{"line":364,"column":78}}]},"44":{"loc":{"start":{"line":367,"column":15},"end":{"line":369,"column":78}},"type":"cond-expr","locations":[{"start":{"line":368,"column":18},"end":{"line":368,"column":78}},{"start":{"line":369,"column":18},"end":{"line":369,"column":78}}]},"45":{"loc":{"start":{"line":372,"column":15},"end":{"line":374,"column":78}},"type":"cond-expr","locations":[{"start":{"line":373,"column":18},"end":{"line":373,"column":78}},{"start":{"line":374,"column":18},"end":{"line":374,"column":78}}]},"46":{"loc":{"start":{"line":378,"column":13},"end":{"line":380,"column":77}},"type":"cond-expr","locations":[{"start":{"line":379,"column":16},"end":{"line":379,"column":77}},{"start":{"line":380,"column":16},"end":{"line":380,"column":77}}]},"47":{"loc":{"start":{"line":387,"column":16},"end":{"line":389,"column":62}},"type":"cond-expr","locations":[{"start":{"line":388,"column":20},"end":{"line":388,"column":62}},{"start":{"line":389,"column":20},"end":{"line":389,"column":62}}]},"48":{"loc":{"start":{"line":392,"column":16},"end":{"line":394,"column":53}},"type":"cond-expr","locations":[{"start":{"line":393,"column":20},"end":{"line":393,"column":53}},{"start":{"line":394,"column":20},"end":{"line":394,"column":53}}]},"49":{"loc":{"start":{"line":399,"column":38},"end":{"line":399,"column":null}},"type":"cond-expr","locations":[{"start":{"line":399,"column":38},"end":{"line":399,"column":null}}]},"50":{"loc":{"start":{"line":402,"column":17},"end":{"line":404,"column":null}},"type":"cond-expr","locations":[{"start":{"line":403,"column":20},"end":{"line":403,"column":null}},{"start":{"line":404,"column":20},"end":{"line":404,"column":null}}]},"51":{"loc":{"start":{"line":430,"column":25},"end":{"line":430,"column":null}},"type":"binary-expr","locations":[{"start":{"line":430,"column":25},"end":{"line":430,"column":56}},{"start":{"line":430,"column":60},"end":{"line":430,"column":null}}]},"52":{"loc":{"start":{"line":436,"column":16},"end":{"line":436,"column":null}},"type":"cond-expr","locations":[{"start":{"line":436,"column":53},"end":{"line":436,"column":58}},{"start":{"line":436,"column":58},"end":{"line":436,"column":null}}]}},"s":{"0":1,"1":0,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":2,"16":1,"17":1,"18":21,"19":1,"20":2,"21":1,"22":1,"23":0,"24":0,"25":1,"26":0,"27":0,"28":0},"f":{"0":2,"1":21,"2":2,"3":1,"4":0},"b":{"0":[21,20,19,18],"1":[0,2],"2":[2,0],"3":[0,2],"4":[0,2],"5":[0,2],"6":[0,2],"7":[0],"8":[0,0],"9":[0,1],"10":[0,1],"11":[0,1],"12":[0,1],"13":[0,1],"14":[0,1],"15":[0,1],"16":[0,1],"17":[0,1],"18":[0,1],"19":[0,1],"20":[0,1],"21":[0,1],"22":[0,1],"23":[0,1],"24":[0,1],"25":[0,1],"26":[0,1],"27":[0,1],"28":[1,0],"29":[0,1],"30":[0,1],"31":[0,1],"32":[0,1],"33":[0,1],"34":[0,1],"35":[0,1],"36":[0,1],"37":[0,1],"38":[0,1],"39":[0,1],"40":[0,1],"41":[0,1],"42":[0,1],"43":[0,1],"44":[0,1],"45":[0,1],"46":[0,1],"47":[0,1],"48":[0,1],"49":[0],"50":[0,1],"51":[0,0],"52":[0,0]}} +} diff --git a/main/coverage/lcov-report/base.css b/main/coverage/lcov-report/base.css new file mode 100644 index 0000000000..f418035b46 --- /dev/null +++ b/main/coverage/lcov-report/base.css @@ -0,0 +1,224 @@ +body, html { + margin:0; padding: 0; + height: 100%; +} +body { + font-family: Helvetica Neue, Helvetica, Arial; + font-size: 14px; + color:#333; +} +.small { font-size: 12px; } +*, *:after, *:before { + -webkit-box-sizing:border-box; + -moz-box-sizing:border-box; + box-sizing:border-box; + } +h1 { font-size: 20px; margin: 0;} +h2 { font-size: 14px; } +pre { + font: 12px/1.4 Consolas, "Liberation Mono", Menlo, Courier, monospace; + margin: 0; + padding: 0; + -moz-tab-size: 2; + -o-tab-size: 2; + tab-size: 2; +} +a { color:#0074D9; text-decoration:none; } +a:hover { text-decoration:underline; } +.strong { font-weight: bold; } +.space-top1 { padding: 10px 0 0 0; } +.pad2y { padding: 20px 0; } +.pad1y { padding: 10px 0; } +.pad2x { padding: 0 20px; } +.pad2 { padding: 20px; } +.pad1 { padding: 10px; } +.space-left2 { padding-left:55px; } +.space-right2 { padding-right:20px; } +.center { text-align:center; } +.clearfix { display:block; } +.clearfix:after { + content:''; + display:block; + height:0; + clear:both; + visibility:hidden; + } +.fl { float: left; } +@media only screen and (max-width:640px) { + .col3 { width:100%; max-width:100%; } + .hide-mobile { display:none!important; } +} + +.quiet { + color: #7f7f7f; + color: rgba(0,0,0,0.5); +} +.quiet a { opacity: 0.7; } + +.fraction { + font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; + font-size: 10px; + color: #555; + background: #E8E8E8; + padding: 4px 5px; + border-radius: 3px; + vertical-align: middle; +} + +div.path a:link, div.path a:visited { color: #333; } +table.coverage { + border-collapse: collapse; + margin: 10px 0 0 0; + padding: 0; +} + +table.coverage td { + margin: 0; + padding: 0; + vertical-align: top; +} +table.coverage td.line-count { + text-align: right; + padding: 0 5px 0 20px; +} +table.coverage td.line-coverage { + text-align: right; + padding-right: 10px; + min-width:20px; +} + +table.coverage td span.cline-any { + display: inline-block; + padding: 0 5px; + width: 100%; +} +.missing-if-branch { + display: inline-block; + margin-right: 5px; + border-radius: 3px; + position: relative; + padding: 0 4px; + background: #333; + color: yellow; +} + +.skip-if-branch { + display: none; + margin-right: 10px; + position: relative; + padding: 0 4px; + background: #ccc; + color: white; +} +.missing-if-branch .typ, .skip-if-branch .typ { + color: inherit !important; +} +.coverage-summary { + border-collapse: collapse; + width: 100%; +} +.coverage-summary tr { border-bottom: 1px solid #bbb; } +.keyline-all { border: 1px solid #ddd; } +.coverage-summary td, .coverage-summary th { padding: 10px; } +.coverage-summary tbody { border: 1px solid #bbb; } +.coverage-summary td { border-right: 1px solid #bbb; } +.coverage-summary td:last-child { border-right: none; } +.coverage-summary th { + text-align: left; + font-weight: normal; + white-space: nowrap; +} +.coverage-summary th.file { border-right: none !important; } +.coverage-summary th.pct { } +.coverage-summary th.pic, +.coverage-summary th.abs, +.coverage-summary td.pct, +.coverage-summary td.abs { text-align: right; } +.coverage-summary td.file { white-space: nowrap; } +.coverage-summary td.pic { min-width: 120px !important; } +.coverage-summary tfoot td { } + +.coverage-summary .sorter { + height: 10px; + width: 7px; + display: inline-block; + margin-left: 0.5em; + background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent; +} +.coverage-summary .sorted .sorter { + background-position: 0 -20px; +} +.coverage-summary .sorted-desc .sorter { + background-position: 0 -10px; +} +.status-line { height: 10px; } +/* yellow */ +.cbranch-no { background: yellow !important; color: #111; } +/* dark red */ +.red.solid, .status-line.low, .low .cover-fill { background:#C21F39 } +.low .chart { border:1px solid #C21F39 } +.highlighted, +.highlighted .cstat-no, .highlighted .fstat-no, .highlighted .cbranch-no{ + background: #C21F39 !important; +} +/* medium red */ +.cstat-no, .fstat-no, .cbranch-no, .cbranch-no { background:#F6C6CE } +/* light red */ +.low, .cline-no { background:#FCE1E5 } +/* light green */ +.high, .cline-yes { background:rgb(230,245,208) } +/* medium green */ +.cstat-yes { background:rgb(161,215,106) } +/* dark green */ +.status-line.high, .high .cover-fill { background:rgb(77,146,33) } +.high .chart { border:1px solid rgb(77,146,33) } +/* dark yellow (gold) */ +.status-line.medium, .medium .cover-fill { background: #f9cd0b; } +.medium .chart { border:1px solid #f9cd0b; } +/* light yellow */ +.medium { background: #fff4c2; } + +.cstat-skip { background: #ddd; color: #111; } +.fstat-skip { background: #ddd; color: #111 !important; } +.cbranch-skip { background: #ddd !important; color: #111; } + +span.cline-neutral { background: #eaeaea; } + +.coverage-summary td.empty { + opacity: .5; + padding-top: 4px; + padding-bottom: 4px; + line-height: 1; + color: #888; +} + +.cover-fill, .cover-empty { + display:inline-block; + height: 12px; +} +.chart { + line-height: 0; +} +.cover-empty { + background: white; +} +.cover-full { + border-right: none !important; +} +pre.prettyprint { + border: none !important; + padding: 0 !important; + margin: 0 !important; +} +.com { color: #999 !important; } +.ignore-none { color: #999; font-weight: normal; } + +.wrapper { + min-height: 100%; + height: auto !important; + height: 100%; + margin: 0 auto -48px; +} +.footer, .push { + height: 48px; +} diff --git a/main/coverage/lcov-report/block-navigation.js b/main/coverage/lcov-report/block-navigation.js new file mode 100644 index 0000000000..cc12130231 --- /dev/null +++ b/main/coverage/lcov-report/block-navigation.js @@ -0,0 +1,87 @@ +/* eslint-disable */ +var jumpToCode = (function init() { + // Classes of code we would like to highlight in the file view + var missingCoverageClasses = ['.cbranch-no', '.cstat-no', '.fstat-no']; + + // Elements to highlight in the file listing view + var fileListingElements = ['td.pct.low']; + + // We don't want to select elements that are direct descendants of another match + var notSelector = ':not(' + missingCoverageClasses.join('):not(') + ') > '; // becomes `:not(a):not(b) > ` + + // Selecter that finds elements on the page to which we can jump + var selector = + fileListingElements.join(', ') + + ', ' + + notSelector + + missingCoverageClasses.join(', ' + notSelector); // becomes `:not(a):not(b) > a, :not(a):not(b) > b` + + // The NodeList of matching elements + var missingCoverageElements = document.querySelectorAll(selector); + + var currentIndex; + + function toggleClass(index) { + missingCoverageElements + .item(currentIndex) + .classList.remove('highlighted'); + missingCoverageElements.item(index).classList.add('highlighted'); + } + + function makeCurrent(index) { + toggleClass(index); + currentIndex = index; + missingCoverageElements.item(index).scrollIntoView({ + behavior: 'smooth', + block: 'center', + inline: 'center' + }); + } + + function goToPrevious() { + var nextIndex = 0; + if (typeof currentIndex !== 'number' || currentIndex === 0) { + nextIndex = missingCoverageElements.length - 1; + } else if (missingCoverageElements.length > 1) { + nextIndex = currentIndex - 1; + } + + makeCurrent(nextIndex); + } + + function goToNext() { + var nextIndex = 0; + + if ( + typeof currentIndex === 'number' && + currentIndex < missingCoverageElements.length - 1 + ) { + nextIndex = currentIndex + 1; + } + + makeCurrent(nextIndex); + } + + return function jump(event) { + if ( + document.getElementById('fileSearch') === document.activeElement && + document.activeElement != null + ) { + // if we're currently focused on the search input, we don't want to navigate + return; + } + + switch (event.which) { + case 78: // n + case 74: // j + goToNext(); + break; + case 66: // b + case 75: // k + case 80: // p + goToPrevious(); + break; + } + }; +})(); +window.addEventListener('keydown', jumpToCode); diff --git a/main/coverage/lcov-report/components/atoms/ActionButton.js.html b/main/coverage/lcov-report/components/atoms/ActionButton.js.html new file mode 100644 index 0000000000..148be99083 --- /dev/null +++ b/main/coverage/lcov-report/components/atoms/ActionButton.js.html @@ -0,0 +1,814 @@ + + + + + + Code coverage report for components/atoms/ActionButton.js + + + + + + + + + +
+
+

All files / components/atoms ActionButton.js

+
+ +
+ 100% + Statements + 18/18 +
+ + +
+ 85.1% + Branches + 40/47 +
+ + +
+ 100% + Functions + 3/3 +
+ + +
+ 100% + Lines + 18/18 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +24422x +22x +22x +  +  +  +  +75x +  +  +70x +  +70x +  +70x +  +70x +  +70x +  +  +70x +  +  +  +  +  +  +  +  +  +  +  +  +68x +68x +68x +63x +1x +1x +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +22x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import PropTypes from "prop-types";
+import Link from "next/link";
+import { useEffect } from "react";
+ 
+/**
+ * Button component
+ */
+export function ActionButton(props) {
+  //Styling for buttons and links
+  const PRIMARY =
+    "text-multi-neutrals-white bg-multi-blue-blue70 hover:bg-multi-blue-blue60g focus:bg-multi-blue-blue60g";
+  const SECONDARY =
+    "text-multi-blue-blue60b bg-multi-neutrals-grey30a hover:bg-multi-neutrals-grey50a focus:bg-multi-neutrals-grey60";
+  const SUPERTASK =
+    "text-multi-neutrals-white bg-specific-green-green50 hover:bg-specific-green-green70 focus:bg-sepcific-green-green70";
+  const DANGER =
+    "text-multi-neutrals-white bg-specific-red-red50 hover:bg-specific-red-red70 focus:bg-specific-red-red70";
+  const LINK =
+    "text-multi-blue-blue60c hover:text-multi-blue-blue50b focus:text-multi-blue-blue60f";
+ 
+  const style =
+    props.style === "primary"
+      ? PRIMARY
+      : props.style === "secondary"
+      ? SECONDARY
+      : props.style === "supertask"
+      ? SUPERTASK
+      : props.style === "danger"
+      ? DANGER
+      : props.style === "link"
+      ? LINK
+      : "";
+ 
+  //Activate Links with spacebar
+  useEffect(() => {
+    let link = document.getElementById(props.id);
+    if (link) {
+      link.addEventListener("keydown", (event) => {
+        if (event.key === "Spacebar" || event.key === " ") {
+          event.preventDefault();
+          link.click();
+        }
+      });
+    }
+  });
+ 
+  return props.href ? (
+    <Link
+      href={props.href}
+      aria-label={`${props.ariaLabel ? props.ariaLabel : undefined}`}
+      className={`flex flex-row ${style} focus:ring focus:ring-offset-4 ring-multi-blue-blue60f py-2 px-4 rounded-sm w-fit text-base ${props.custom}`}
+      onClick={props.onClick}
+      id={props.id}
+      data-testid={props.dataTestId}
+      data-cy={props.dataCy || props.id}
+      data-cy-button={props.dataCyButton}
+      disabled={props.disabled}
+      role="button"
+      draggable="false"
+      lang={props.lang}
+    >
+      {props.icon && !props.iconEnd ? (
+        <span className={props.icon} data-testid={props.dataTestId} />
+      ) : undefined}
+      {props.text}
+      {props.children}
+      {props.icon && props.iconEnd ? (
+        <span
+          className={`${props.icon} ${props.iconStyle}`}
+          data-testid={props.dataTestId}
+        />
+      ) : undefined}
+    </Link>
+  ) : (
+    <button
+      aria-expanded={`${props.ariaExpanded ? props.ariaExpanded : undefined}`}
+      aria-label={`${props.ariaLabel ? props.ariaLabel : undefined}`}
+      className={`flex flex-row ${style} focus:ring focus:ring-offset-4 ring-multi-blue-blue60f py-2 px-4 rounded-sm w-fit text-base ${props.custom}`}
+      onClick={props.onClick}
+      type={props.type}
+      id={props.id}
+      data-testid={props.dataTestId}
+      data-cy={props.dataCy || props.id}
+      data-cy-button={props.dataCyButton}
+      disabled={props.disabled}
+      data-gc-analytics-submit={props.analyticsTracking ? "submit" : undefined}
+    >
+      {props.icon && !props.iconEnd ? (
+        <span className={props.icon} data-testid={props.dataTestId} />
+      ) : undefined}
+      {props.imageSource && props.imageAlt ? (
+        <>
+          <img src={props.imageSource} alt={props.imageAlt} />
+          <span className={props.imageSpanClass} data-testid={props.dataTestId}>
+            {props.imageSpanText}
+          </span>
+        </>
+      ) : undefined}
+      <span className="flex">
+        {props.text}
+        {props.expandIcon}
+      </span>
+      {props.children}
+      {props.icon && props.iconEnd ? (
+        <span
+          className={`${props.icon} ${props.iconStyle}`}
+          data-testid={props.dataTestId}
+        />
+      ) : undefined}
+    </button>
+  );
+}
+ 
+ActionButton.propTypes = {
+  /**
+   * This will add an icon inside the button when needed
+   */
+  icon: PropTypes.string,
+ 
+  /**
+   * This is for placing an icon at the end of the component
+   */
+  iconEnd: PropTypes.bool,
+ 
+  /**
+   * This will add styles to the icon span inside the button when needed
+   */
+  iconStyle: PropTypes.string,
+ 
+  /**
+   * The text that the button will display
+   */
+  text: PropTypes.string,
+ 
+  /**
+   * Style link as a button when there's a href
+   */
+  href: PropTypes.string,
+ 
+  /**
+   * Identify which button being clicked
+   */
+  id: PropTypes.string.isRequired,
+ 
+  /**
+   * Lang attribute for links that do not match the language of the top level document
+   */
+  lang: PropTypes.string,
+  /**
+   * the type of the button
+   */
+  type: PropTypes.oneOf(["submit", "reset"]),
+ 
+  /**
+   * Secondary color styling option
+   */
+  secondary: PropTypes.bool,
+ 
+  /**
+   * Tertiary color styling option
+   */
+  tertiary: PropTypes.bool,
+ 
+  /**
+   * Custom button styling option
+   */
+  custom: PropTypes.string,
+ 
+  /**
+   * Callback for a click event on the button
+   */
+  onClick: PropTypes.func,
+ 
+  /**
+   * User must input one of the follow button styles to apply
+   * to their button. To apply the link style, the user must
+   * also add a value to the href prop
+   */
+  style: PropTypes.oneOf([
+    "supertask",
+    "primary",
+    "secondary",
+    "danger",
+    "link",
+  ]),
+ 
+  /**
+   * any other elements you want to add to the button
+   */
+  children: PropTypes.oneOfType([
+    PropTypes.string,
+    PropTypes.element,
+    PropTypes.arrayOf(PropTypes.element),
+  ]),
+  /**
+   * Test id for unit test
+   */
+  dataTestId: PropTypes.string,
+  /**
+   * Test id for e2e test
+   */
+  dataCy: PropTypes.string,
+  /**
+   * Test id for e2e test
+   */
+  dataCyButton: PropTypes.string,
+  /**
+   * Enabled or disabled the button
+   */
+  disabled: PropTypes.bool,
+  /**
+   * For tracking reset or submit on forms for analytics
+   */
+  analyticsTracking: PropTypes.bool,
+  /**
+   * Expand icon that will show the Feedback as popup
+   */
+  expandIcon: PropTypes.object,
+  /**
+   * Aria expanded state
+   */
+  ariaExpanded: PropTypes.string,
+  /**
+   * Aria label
+   */
+  ariaLabel: PropTypes.string,
+  /**
+   * Image source
+   */
+  imageSource: PropTypes.string,
+  /**
+   * Image alt
+   */
+  imageAlt: PropTypes.string,
+  /**
+   * Image span text
+   */
+  imageSpanText: PropTypes.string,
+  /**
+   * Image span classname
+   */
+  imageSpanClass: PropTypes.string,
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/atoms/ActionButton.stories.js.html b/main/coverage/lcov-report/components/atoms/ActionButton.stories.js.html new file mode 100644 index 0000000000..2404960087 --- /dev/null +++ b/main/coverage/lcov-report/components/atoms/ActionButton.stories.js.html @@ -0,0 +1,229 @@ + + + + + + Code coverage report for components/atoms/ActionButton.stories.js + + + + + + + + + +
+
+

All files / components/atoms ActionButton.stories.js

+
+ +
+ 94.44% + Statements + 17/18 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 12/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +491x +  +1x +  +  +  +  +  +  +5x +3x +3x +3x +5x +  +1x +  +  +  +  +  +1x +  +  +  +  +  +  +1x +  +  +  +  +  +  +1x +  +  +  +  +  +  +1x +  +  +  +  +  + 
import { ActionButton } from "./ActionButton";
+ 
+export default {
+  title: "Components/Atoms/ActionButton",
+  component: ActionButton,
+};
+ 
+const Template = (args) => <ActionButton {...args} />;
+ 
+export const Primary = Template.bind({});
+export const Secondary = Template.bind({});
+export const Supertask = Template.bind({});
+export const Danger = Template.bind({});
+export const Link = Template.bind({});
+ 
+Primary.args = {
+  id: "primary",
+  style: "primary",
+  text: "Primary",
+};
+ 
+Secondary.args = {
+  id: "secondary",
+  text: "Secondary",
+  style: "secondary",
+  secondary: true,
+};
+ 
+Supertask.args = {
+  id: "supertask",
+  text: "Supertask",
+  style: "supertask",
+  tertiary: true,
+};
+ 
+Danger.args = {
+  id: "danger",
+  text: "Danger",
+  style: "danger",
+  disabled: true,
+};
+ 
+Link.args = {
+  id: "link",
+  text: "Link",
+  style: "link",
+  href: "/",
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/atoms/Alert.js.html b/main/coverage/lcov-report/components/atoms/Alert.js.html new file mode 100644 index 0000000000..f3ac5c6d27 --- /dev/null +++ b/main/coverage/lcov-report/components/atoms/Alert.js.html @@ -0,0 +1,235 @@ + + + + + + Code coverage report for components/atoms/Alert.js + + + + + + + + + +
+
+

All files / components/atoms Alert.js

+
+ +
+ 100% + Statements + 5/5 +
+ + +
+ 33.33% + Branches + 1/3 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 5/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +511x +1x +1x +  +  +  +  +  +  +  +3x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  + 
import PropTypes from "prop-types";
+import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
+import { faCircleInfo } from "@fortawesome/free-solid-svg-icons";
+import { faTriangleExclamation } from "@fortawesome/free-solid-svg-icons";
+ 
+/**
+ * Contextual alert component meant to draw attention to a short important message.
+ * Currently only has the option for an info alert, but other options can be added later so the alert
+ * can be customized.
+ */
+export function Alert(props) {
+  return (
+    <div className="layout-container">
+      <div
+        className={`relative border-l-6 min-h-40px my-10 ${
+          props.triangle ? "border-[#EE7100]" : "border-[#269ABC]"
+        }`}
+      >
+        <span className="absolute py-1 top-4 -left-3.5 bg-white">
+          {props.triangle ? (
+            <FontAwesomeIcon
+              icon={faTriangleExclamation}
+              color={"#EE7100"}
+              size="xl"
+            />
+          ) : (
+            <FontAwesomeIcon icon={faCircleInfo} color={"#269ABC"} size="xl" />
+          )}
+        </span>
+        <div className="ml-6">
+          <h3 className="text-h3 font-display">
+            <>{props.title}</>
+          </h3>
+          <p className="text-p">{props.text}</p>
+        </div>
+      </div>
+    </div>
+  );
+}
+ 
+Alert.propTypes = {
+  /**
+   * The title for the alert
+   */
+  title: PropTypes.string,
+  /**
+   * The description for the alert, accepts a string or JSX
+   */
+  text: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/atoms/Alert.stories.js.html b/main/coverage/lcov-report/components/atoms/Alert.stories.js.html new file mode 100644 index 0000000000..cd08575a20 --- /dev/null +++ b/main/coverage/lcov-report/components/atoms/Alert.stories.js.html @@ -0,0 +1,130 @@ + + + + + + Code coverage report for components/atoms/Alert.stories.js + + + + + + + + + +
+
+

All files / components/atoms Alert.stories.js

+
+ +
+ 83.33% + Statements + 5/6 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 4/4 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +161x +  +1x +  +  +  +  +  +  +4x +  +1x +  +  +  + 
import { Alert } from "./Alert";
+ 
+export default {
+  title: "Components/Atoms/Alert",
+  component: Alert,
+};
+ 
+const Template = (args) => <Alert {...args} />;
+ 
+export const Primary = Template.bind({});
+ 
+Primary.args = {
+  title: "Alert Title",
+  text: "Alert Text",
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/atoms/Banner.js.html b/main/coverage/lcov-report/components/atoms/Banner.js.html new file mode 100644 index 0000000000..f3162436d5 --- /dev/null +++ b/main/coverage/lcov-report/components/atoms/Banner.js.html @@ -0,0 +1,205 @@ + + + + + + Code coverage report for components/atoms/Banner.js + + + + + + + + + +
+
+

All files / components/atoms Banner.js

+
+ +
+ 100% + Statements + 7/7 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 5/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +419x +9x +  +  +  +  +  +9x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +9x +  +  +  +  +  +  +  +  +  +  +  +9x + 
import React from "react";
+import PropTypes from "prop-types";
+ 
+/**
+ * Displays the banner on the page
+ */
+ 
+export const Banner = ({ siteTitle, headline }) => {
+  return (
+    <div className="bg-banner-img-mobile bg-center bg-cover py-8 sm:bg-banner-img sm:bg-right">
+      <div className="lg:container xxs:mx-0 xxs:px-0 lg:mx-auto lg:px-6 xxl:mx-auto">
+        <div className="bg-black bg-opacity-90 text-white p-4 xxs:w-screen lg:bg-opacity-30 lg:w-2/3 xl:w-1/2">
+          <h1
+            className="text-h1 font-medium pt-4 pb-2 break-words"
+            id="pageMainTitle"
+            tabIndex="-1"
+          >
+            {siteTitle}
+          </h1>
+          <hr className="border-2 border-hr-red-bar bg-hr-red-bar bg-opacity-90 border-opacity-90 w-3/4" />
+          <p className="text-base font-normal py-4 break-words">{headline}</p>
+        </div>
+      </div>
+    </div>
+  );
+};
+ 
+Banner.propTypes = {
+  /**
+   * Text area that displays the title for the page
+   */
+  siteTitle: PropTypes.string.isRequired,
+ 
+  /**
+   * text area for headline in the banner
+   */
+  headline: PropTypes.string.isRequired,
+};
+ 
+export default Banner;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/atoms/Banner.stories.js.html b/main/coverage/lcov-report/components/atoms/Banner.stories.js.html new file mode 100644 index 0000000000..4a23deb7f6 --- /dev/null +++ b/main/coverage/lcov-report/components/atoms/Banner.stories.js.html @@ -0,0 +1,133 @@ + + + + + + Code coverage report for components/atoms/Banner.stories.js + + + + + + + + + +
+
+

All files / components/atoms Banner.stories.js

+
+ +
+ 85.71% + Statements + 6/7 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 5/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +171x +1x +  +1x +  +  +  +  +  +  +4x +  +1x +  +  +  + 
import React from "react";
+import Banner from "./Banner";
+ 
+export default {
+  title: "Components/Atoms/Banner",
+  component: Banner,
+};
+ 
+const Template = (args) => <Banner {...args} />;
+ 
+export const Primary = Template.bind({});
+ 
+Primary.args = {
+  siteTitle: "Banner Text",
+  headline: "Banner Headline",
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/atoms/Breadcrumb.js.html b/main/coverage/lcov-report/components/atoms/Breadcrumb.js.html new file mode 100644 index 0000000000..d0dc20ebf5 --- /dev/null +++ b/main/coverage/lcov-report/components/atoms/Breadcrumb.js.html @@ -0,0 +1,286 @@ + + + + + + Code coverage report for components/atoms/Breadcrumb.js + + + + + + + + + +
+
+

All files / components/atoms Breadcrumb.js

+
+ +
+ 100% + Statements + 7/7 +
+ + +
+ 100% + Branches + 2/2 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 100% + Lines + 7/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +689x +9x +9x +9x +  +  +  +  +16x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +9x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +9x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import PropTypes from "prop-types";
+import Link from "next/link";
+import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
+import { faChevronRight } from "@fortawesome/free-solid-svg-icons";
+ 
+/**
+ *  Breadcrumb component
+ */
+export function Breadcrumb(props) {
+  return (
+    <nav aria-label="breadcrumbs">
+      <ul className="block text-custom-blue-dark text-base font-body">
+        <li className="inline-block min-w-0 max-w-full truncate px-1 ml-0">
+          <Link
+            href="https://www.canada.ca/"
+            className="text-sm hover:text-custom-blue-link visited:text-purple-700 underline"
+          >
+            Canada.ca
+          </Link>
+        </li>
+ 
+        {props.items
+          ? props.items.map((item, key) => {
+              return (
+                <li
+                  key={key}
+                  className="inline-block min-w-0 max-w-full truncate px-1 ml-4"
+                >
+                  <span className="inline-block mr-6">
+                    <FontAwesomeIcon
+                      icon={faChevronRight}
+                      className="text-xs text-gray-breadcrumb"
+                    />
+                  </span>
+                  <Link
+                    href={item.link}
+                    className="text-sm hover:text-canada-footer-hover-font-blue text-canada-footer-font visited:text-purple-700 underline"
+                  >
+                    {item.text}
+                  </Link>
+                </li>
+              );
+            })
+          : null}
+      </ul>
+    </nav>
+  );
+}
+ 
+Breadcrumb.propTypes = {
+  /**
+   * Array of Items for the breadcrumb
+   */
+  items: PropTypes.arrayOf(
+    PropTypes.shape({
+      /**
+       * Text for the breadcrumb
+       */
+      text: PropTypes.string,
+ 
+      /**
+       * Link for the breadcrumb
+       */
+      link: PropTypes.string,
+    })
+  ),
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/atoms/Breadcrumb.stories.js.html b/main/coverage/lcov-report/components/atoms/Breadcrumb.stories.js.html new file mode 100644 index 0000000000..d2b6a4739a --- /dev/null +++ b/main/coverage/lcov-report/components/atoms/Breadcrumb.stories.js.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for components/atoms/Breadcrumb.stories.js + + + + + + + + + +
+
+

All files / components/atoms Breadcrumb.stories.js

+
+ +
+ 87.5% + Statements + 7/8 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 5/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +  +1x +  +  +  +  +  +  +4x +3x +  +1x +  +  +  +  +  +  + 
import { Breadcrumb } from "./Breadcrumb";
+ 
+export default {
+  title: "Components/Atoms/Breadcrumb",
+  component: Breadcrumb,
+};
+ 
+const Template = (args) => <Breadcrumb {...args} />;
+ 
+export const Primary = Template.bind({});
+export const WithItems = Template.bind({});
+ 
+WithItems.args = {
+  items: [
+    { text: "Link1", link: "/" },
+    { text: "Link2", link: "/" },
+    { text: "Link3", link: "/" },
+  ],
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/atoms/CheckBox.js.html b/main/coverage/lcov-report/components/atoms/CheckBox.js.html new file mode 100644 index 0000000000..2b58051e14 --- /dev/null +++ b/main/coverage/lcov-report/components/atoms/CheckBox.js.html @@ -0,0 +1,469 @@ + + + + + + Code coverage report for components/atoms/CheckBox.js + + + + + + + + + +
+
+

All files / components/atoms CheckBox.js

+
+ +
+ 100% + Statements + 5/5 +
+ + +
+ 76.47% + Branches + 13/17 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 100% + Lines + 5/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +1294x +  +  +  +  +72x +  +  +  +  +  +68x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +6x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +4x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import PropTypes from "prop-types";
+ 
+/**
+ * check box component for forms
+ */
+export function CheckBox({
+  checked = false,
+  value = "true",
+  showRequiredLabel = false,
+  ...props
+}) {
+  const ifControlledProps = !props.uncontrolled
+    ? {
+        checked: checked,
+      }
+    : {};
+  return (
+    <div
+      className={`block leading-tight relative pl-40px h-46px clear-left${
+        props.className ? " " + props.className : " mb-4"
+      }`}
+    >
+      <input
+        className="control-input cursor-pointer appearance-none w-40px h-40px absolute left-0 m-0 z-1 opacity-0"
+        id={props.id}
+        name={props.name}
+        value={value}
+        type="checkbox"
+        onChange={(e) =>
+          props.onChange(
+            props.uncontrolled ? !e.currentTarget.checked : checked,
+            props.name,
+            value
+          )
+        }
+        aria-required={props.required}
+        aria-invalid={props.error ? "true" : undefined}
+        data-cy={props.dataCy}
+        data-testid={props.dataTestId}
+        {...ifControlledProps}
+      />
+      <label
+        className={`checkbox-label control-label inline-block cursor-pointer pt-4px pb-5px px-15px text-sm lg:text-p leading-tight sm:leading-6 ${
+          props.bolded ? "font-semibold" : "font-normal"
+        } font-body${props.error ? " text-error-border-red" : undefined}`}
+        htmlFor={props.id}
+      >
+        {showRequiredLabel ? (
+          <b className="text-error-border-red" aria-hidden="true">
+            *
+          </b>
+        ) : undefined}{" "}
+        {props.label} {<p className="sr-only">{props.expandState}</p>}
+      </label>
+    </div>
+  );
+}
+ 
+CheckBox.propTypes = {
+  /**
+   * additional css for the component
+   */
+  className: PropTypes.string,
+  /**
+   * whether or not the checkbox is checked
+   */
+  checked: PropTypes.bool.isRequired,
+ 
+  /**
+   * the value of the field when the checkbox is checked
+   */
+  value: PropTypes.string,
+ 
+  /**
+   * the name of the checkbox
+   */
+  name: PropTypes.string.isRequired,
+ 
+  /**
+   * the id of the checkbox
+   */
+  id: PropTypes.string.isRequired,
+ 
+  /**
+   * the label for the checkbox
+   */
+  label: PropTypes.string.isRequired,
+ 
+  /**
+   * whether or not there is an error
+   */
+  error: PropTypes.bool,
+ 
+  /**
+   * whether or not the field is required
+   */
+  required: PropTypes.bool,
+ 
+  /**
+   * show the "* ... (required)" in the label. in lists, this isn't necessary, but for an individual checkbox without a parent fieldset this is required
+   */
+  showRequiredLabel: PropTypes.bool,
+ 
+  /**
+   * callback to handle change in checked state, takes three arguments, the checked state, the name and the value
+   */
+  onChange: PropTypes.func,
+ 
+  /**
+   * boolean flag to specify that this input should not be controlled by react
+   */
+  uncontrolled: PropTypes.bool,
+ 
+  /**
+   * boolean flag to specify when label content should be bolded
+   */
+  bolded: PropTypes.bool,
+ 
+  /**
+   * testing selector for cypress
+   */
+  dataCy: PropTypes.string,
+ 
+  /**
+   * testing selector for unit tests
+   */
+  dataTestId: PropTypes.string,
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/atoms/CheckBox.stories.js.html b/main/coverage/lcov-report/components/atoms/CheckBox.stories.js.html new file mode 100644 index 0000000000..27ffa7250d --- /dev/null +++ b/main/coverage/lcov-report/components/atoms/CheckBox.stories.js.html @@ -0,0 +1,256 @@ + + + + + + Code coverage report for components/atoms/CheckBox.stories.js + + + + + + + + + +
+
+

All files / components/atoms CheckBox.stories.js

+
+ +
+ 81.25% + Statements + 13/16 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 11/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +581x +1x +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +7x +1x +  +  +  +  +  +  +  +6x +1x +  +  +  +  +  +  +  +  +1x +1x +  +  +  +  +  +  +  +  +1x +1x +  +  +  +  +  +  +  + 
import React from "react";
+import { CheckBox } from "./CheckBox";
+ 
+export default {
+  title: "Components/Atoms/CheckBox",
+  component: CheckBox,
+  decorators: [
+    (Story) => (
+      <div className="w-full flex justify-center">
+        <div className="w-96">
+          <Story />
+        </div>
+      </div>
+    ),
+  ],
+};
+ 
+const Template = (args) => <CheckBox {...args} />;
+ 
+export const UnChecked = Template.bind({});
+UnChecked.args = {
+  id: "checkbox 1",
+  name: "ChexBox1",
+  value: "IsChecked",
+  label: "I am a checkbox",
+  dataTestId: "unchecked-checkbox",
+};
+ 
+export const Checked = Template.bind({});
+Checked.args = {
+  id: "checkbox 1",
+  name: "ChexBox1",
+  value: "IsChecked",
+  label: "I am a checkbox",
+  dataTestId: "checked-checkbox",
+  checked: true,
+};
+ 
+export const UnControlled = Template.bind({});
+UnControlled.args = {
+  id: "checkbox 1",
+  name: "ChexBox1",
+  value: "IsChecked",
+  label: "I am an uncontrolled checkbox",
+  dataTestId: "uncontrolled-checkbox",
+  uncontrolled: true,
+};
+ 
+export const Required = Template.bind({});
+Required.args = {
+  id: "checkbox 1",
+  name: "ChexBox1",
+  value: "IsChecked",
+  label: "I am an uncontrolled checkbox",
+  dataTestId: "required-checkbox",
+  showRequiredLabel: true,
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/atoms/DSButton.js.html b/main/coverage/lcov-report/components/atoms/DSButton.js.html new file mode 100644 index 0000000000..6339b2b5d1 --- /dev/null +++ b/main/coverage/lcov-report/components/atoms/DSButton.js.html @@ -0,0 +1,622 @@ + + + + + + Code coverage report for components/atoms/DSButton.js + + + + + + + + + +
+
+

All files / components/atoms DSButton.js

+
+ +
+ 100% + Statements + 10/10 +
+ + +
+ 62.85% + Branches + 22/35 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 10/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +18012x +12x +  +  +  +11x +  +  +  +  +  +  +  +  +10x +  +10x +  +10x +  +10x +  +10x +  +10x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +12x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import PropTypes from "prop-types";
+import { Image } from "./Image";
+ 
+// Button used in HelpIcon.js and CTA.js
+// Use ActionButton.js for all other buttons in the app
+export function DSButton({
+  id = "btn1",
+  styling = "supertask",
+  text = "default",
+  href = "no ref",
+  ...props
+}) {
+  //Styling for buttons and links
+  const PRIMARY =
+    "text-multi-neutrals-white bg-multi-blue-blue70 hover:bg-multi-blue-blue60g focus:bg-multi-blue-blue60g";
+  const SECONDARY =
+    "text-multi-blue-blue60b bg-multi-neutrals-grey30a hover:bg-multi-neutrals-grey50a focus:bg-multi-neutrals-grey60";
+  const SUPERTASK =
+    "text-multi-neutrals-white bg-specific-green-green50 hover:bg-specific-green-green70 focus:bg-sepcific-green-green70";
+  const DANGER =
+    "text-multi-neutrals-white bg-specific-red-red50 hover:bg-specific-red-red70 focus:bg-specific-red-red70";
+  const LINK =
+    "text-multi-blue-blue60c hover:text-multi-blue-blue50b focus:text-multi-blue-blue60f";
+ 
+  styling =
+    styling === "primary"
+      ? PRIMARY
+      : styling === "secondary"
+      ? SECONDARY
+      : styling === "supertask"
+      ? SUPERTASK
+      : styling === "danger"
+      ? DANGER
+      : styling === "link"
+      ? LINK
+      : "";
+ 
+  return href === "no ref" ? (
+    <button
+      className={`flex flex-row px-[16px] py-[8px] ${styling} rounded-sm focus:ring focus:ring-offset-4 ${props.className} `}
+      onClick={props.onClick}
+      type={props.type}
+      id={id}
+      disabled={props.disabled}
+      {...props.attributes}
+      alt={props.iconAltText}
+    >
+      {props.icon && !props.iconEnd ? (
+        <span className="grid place-items-center h-8 w-8">
+          <Image className="pr-2" src={props.icon} alt={props.iconAltText} />
+        </span>
+      ) : undefined}
+      <span
+        className={`grid place-items-center ${
+          styling === "supertask" ? "h-8" : ""
+        }`}
+      >
+        {text}
+      </span>
+      {props.children}
+      {props.icon && props.iconEnd ? (
+        <span className="grid place-items-center h-8 w-8">
+          <Image className="pl-2" src={props.icon} alt={props.iconAltText} />
+        </span>
+      ) : undefined}
+    </button>
+  ) : (
+    <a
+      href={href}
+      className={`flex flex-row ${
+        styling !== "none" ? "btn-link" : ""
+      } focus:ring focus:ring-offset-4 ${props.className}`}
+      onClick={props.onClick}
+      id={id}
+      disabled={props.disabled}
+      role="button"
+    >
+      {props.icon && !props.iconEnd ? (
+        <Image
+          className="h-8 w-8 pr-2"
+          src={props.icon}
+          alt={props.iconAltText}
+        />
+      ) : undefined}
+      {text}
+      {props.children}
+      {props.icon && props.iconEnd ? (
+        <div className="grid place-items-center h-8 w-8">
+          <Image
+            className="pl-5 pb-3"
+            src={props.icon}
+            alt={props.iconAltText}
+          />
+        </div>
+      ) : undefined}
+    </a>
+  );
+}
+ 
+DSButton.propTypes = {
+  /**
+   * Identify which button being clicked
+   */
+  id: PropTypes.string.isRequired,
+ 
+  /**
+   * User must input one of the follow button styles to apply
+   * to their button. To apply the link style, the user must
+   * also add a value to the href prop
+   */
+  styling: PropTypes.oneOf([
+    "supertask",
+    "primary",
+    "secondary",
+    "danger",
+    "link",
+    "none",
+  ]),
+ 
+  /**
+   * The text that the button will display
+   */
+  text: PropTypes.string.isRequired,
+ 
+  /**
+   * This will add a img inside the button when needed
+   */
+  icon: PropTypes.string,
+ 
+  /**
+   * Alt text for icon added to button
+   */
+  iconAltText: PropTypes.string,
+ 
+  /**
+   * This is for placing an icon at the end of the component
+   */
+  iconEnd: PropTypes.bool,
+ 
+  /**
+   * Use when button redirects to a new page.
+   * Automatically applies the Link styling
+   */
+  href: PropTypes.string,
+ 
+  /**
+   * the type of the button
+   */
+  type: PropTypes.oneOf(["submit", "reset", "button"]),
+ 
+  /**
+   * Callback for a click event on the button
+   */
+  onClick: PropTypes.func,
+ 
+  /**
+   * bool to disable a button
+   */
+  disabled: PropTypes.bool,
+ 
+  /**
+   * css overrides for button
+   */
+  className: PropTypes.string,
+ 
+  /**
+   * additional attributes for button
+   */
+  attributes: PropTypes.object,
+ 
+  /**
+   * any other elements you want to add to the button
+   */
+  children: PropTypes.oneOfType([
+    PropTypes.string,
+    PropTypes.element,
+    PropTypes.arrayOf(PropTypes.element),
+  ]),
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/atoms/DSButton.stories.js.html b/main/coverage/lcov-report/components/atoms/DSButton.stories.js.html new file mode 100644 index 0000000000..dee0e34908 --- /dev/null +++ b/main/coverage/lcov-report/components/atoms/DSButton.stories.js.html @@ -0,0 +1,268 @@ + + + + + + Code coverage report for components/atoms/DSButton.stories.js + + + + + + + + + +
+
+

All files / components/atoms DSButton.stories.js

+
+ +
+ 90.47% + Statements + 19/21 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 14/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +621x +  +1x +  +  +  +  +  +  +2x +1x +2x +2x +2x +2x +  +1x +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +1x +  +  +  +  +  +  + 
import { DSButton } from "./DSButton";
+ 
+export default {
+  title: "Components/Atoms/DSButton",
+  component: DSButton,
+};
+ 
+const Template = (args) => <DSButton {...args} />;
+ 
+export const Supertask = Template.bind({});
+export const SupertaskIcon = Template.bind({});
+export const Primary = Template.bind({});
+export const Secondary = Template.bind({});
+export const Danger = Template.bind({});
+export const Link = Template.bind({});
+ 
+Supertask.args = {
+  id: "supertask",
+  styling: "supertask",
+  text: "Supertask button",
+  iconAltText: "supertask",
+};
+ 
+SupertaskIcon.args = {
+  id: "supertask_icon",
+  styling: "supertask",
+  text: "Supertask button",
+  icon: "plus.svg",
+  iconAltText: "icon",
+  iconEnd: false,
+};
+ 
+Primary.args = {
+  id: "primary",
+  text: "Primary button",
+  iconAltText: "prime",
+  styling: "primary",
+};
+ 
+Secondary.args = {
+  id: "secondary",
+  text: "Secondary Button",
+  iconEnd: false,
+  secondary: true,
+  styling: "secondary",
+};
+ 
+Danger.args = {
+  id: "danger",
+  text: "Danger Button",
+  iconEnd: false,
+  styling: "danger",
+};
+ 
+Link.args = {
+  id: "link",
+  text: "Link Button",
+  styling: "link",
+  href: "/",
+  iconAltText: "link",
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/atoms/DateModified.js.html b/main/coverage/lcov-report/components/atoms/DateModified.js.html new file mode 100644 index 0000000000..25ec2aa18c --- /dev/null +++ b/main/coverage/lcov-report/components/atoms/DateModified.js.html @@ -0,0 +1,178 @@ + + + + + + Code coverage report for components/atoms/DateModified.js + + + + + + + + + +
+
+

All files / components/atoms DateModified.js

+
+ +
+ 100% + Statements + 10/10 +
+ + +
+ 100% + Branches + 5/5 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 10/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +329x +9x +  +16x +15x +  +15x +15x +9x +2x +7x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +9x +  +  +  + 
import PropTypes from "prop-types";
+import { useTranslation } from "next-i18next";
+ 
+export function DateModified({ date = process.env.NEXT_PUBLIC_BUILD_DATE }) {
+  const { t } = useTranslation("common");
+  // TeamCity build dates are received in the format yyyyMMdd
+  let dateFormatted = "NA";
+  if (date) {
+    if (!date.match(/(?=\S*['-])([a-zA-Z'-]+)/gm)) {
+      dateFormatted = date.replace(/^(.{4})(.{2})/gm, "$1-$2-");
+    } else dateFormatted = date;
+  }
+ 
+  return (
+    <dl className="mt-8 py-2 font-body font-normal text-sm">
+      <dt className="inline">{t("dateModified")}</dt>
+      <dd className="inline">
+        {dateFormatted === "NA" ? (
+          <time>{` ${dateFormatted}`}</time>
+        ) : (
+          <time dateTime={dateFormatted}>{` ${dateFormatted}`}</time>
+        )}
+      </dd>
+    </dl>
+  );
+}
+ 
+DateModified.propTypes = {
+  // Date string in format yyyyMMdd
+  date: PropTypes.string,
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/atoms/DateModified.stories.js.html b/main/coverage/lcov-report/components/atoms/DateModified.stories.js.html new file mode 100644 index 0000000000..6085f2fced --- /dev/null +++ b/main/coverage/lcov-report/components/atoms/DateModified.stories.js.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for components/atoms/DateModified.stories.js + + + + + + + + + +
+
+

All files / components/atoms DateModified.stories.js

+
+ +
+ 83.33% + Statements + 5/6 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 4/4 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +  +1x +  +  +  +  +  +  +5x +  +1x +  +  + 
import { DateModified } from "./DateModified";
+ 
+export default {
+  title: "Components/Atoms/DateModified",
+  component: DateModified,
+};
+ 
+const Template = (args) => <DateModified {...args} />;
+ 
+export const Primary = Template.bind({});
+ 
+Primary.args = {
+  date: "20200420",
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/atoms/ErrorLabel.js.html b/main/coverage/lcov-report/components/atoms/ErrorLabel.js.html new file mode 100644 index 0000000000..4a39ecc1bd --- /dev/null +++ b/main/coverage/lcov-report/components/atoms/ErrorLabel.js.html @@ -0,0 +1,154 @@ + + + + + + Code coverage report for components/atoms/ErrorLabel.js + + + + + + + + + +
+
+

All files / components/atoms ErrorLabel.js

+
+ +
+ 100% + Statements + 3/3 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 3/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +2416x +  +  +  +  +7x +  +  +  +  +  +  +  +  +  +16x +  +  +  +  +  +  +  + 
import PropTypes from "prop-types";
+ 
+/**
+ * error label component that is used with form inputs to display error messages
+ */
+export function ErrorLabel(props) {
+  return (
+    <div
+      className={`error-label border-l-4 border-error-border-red px-3 py-1 bg-error-background-red font-body font-bold mb-5px text-sm lg:text-p ${props.className}`}
+    >
+      {props.message}
+    </div>
+  );
+}
+ 
+ErrorLabel.propTypes = {
+  message: PropTypes.string.isRequired,
+ 
+  /**
+   * Prop for adding some classes
+   */
+  className: PropTypes.string,
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/atoms/ErrorLabel.stories.js.html b/main/coverage/lcov-report/components/atoms/ErrorLabel.stories.js.html new file mode 100644 index 0000000000..b8fa01b809 --- /dev/null +++ b/main/coverage/lcov-report/components/atoms/ErrorLabel.stories.js.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for components/atoms/ErrorLabel.stories.js + + + + + + + + + +
+
+

All files / components/atoms ErrorLabel.stories.js

+
+ +
+ 85.71% + Statements + 6/7 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 5/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +  +1x +  +  +  +  +  +  +5x +1x +  +  + 
import React from "react";
+import { ErrorLabel } from "./ErrorLabel";
+ 
+export default {
+  title: "Components/Atoms/ErrorLabel",
+  component: ErrorLabel,
+};
+ 
+const Template = (args) => <ErrorLabel {...args} />;
+ 
+export const Primary = Template.bind({});
+Primary.args = {
+  message: "Error 1: This is a message",
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/atoms/HTMList.js.html b/main/coverage/lcov-report/components/atoms/HTMList.js.html new file mode 100644 index 0000000000..92e22074a4 --- /dev/null +++ b/main/coverage/lcov-report/components/atoms/HTMList.js.html @@ -0,0 +1,163 @@ + + + + + + Code coverage report for components/atoms/HTMList.js + + + + + + + + + +
+
+

All files / components/atoms HTMList.js

+
+ +
+ 100% + Statements + 7/7 +
+ + +
+ 100% + Branches + 2/2 +
+ + +
+ 100% + Functions + 4/4 +
+ + +
+ 100% + Lines + 7/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +271x +  +7x +7x +7x +  +18x +  +13x +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  + 
import PropTypes from "prop-types";
+ 
+export function HTMList({ tag = "ul", content, listClassName, liClassName }) {
+  const parseList = (content) =>
+    content
+      .split("*") // split the string on asterisks
+      .filter((item) => item) // filter out empty strings
+      .map((item, index) => (
+        <li className={liClassName} key={index}>
+          {item.trim()}
+        </li>
+      ));
+ 
+  return tag === "ul" ? (
+    <ul className={listClassName}>{parseList(content)}</ul>
+  ) : (
+    <ol className={listClassName}>{parseList(content)}</ol>
+  );
+}
+ 
+HTMList.propTypes = {
+  tag: PropTypes.string,
+  content: PropTypes.string.isRequired,
+  listClassName: PropTypes.string,
+  liClassName: PropTypes.string,
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/atoms/Image.js.html b/main/coverage/lcov-report/components/atoms/Image.js.html new file mode 100644 index 0000000000..21227c94ad --- /dev/null +++ b/main/coverage/lcov-report/components/atoms/Image.js.html @@ -0,0 +1,199 @@ + + + + + + Code coverage report for components/atoms/Image.js + + + + + + + + + +
+
+

All files / components/atoms Image.js

+
+ +
+ 100% + Statements + 4/4 +
+ + +
+ 100% + Branches + 2/2 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 4/4 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +3916x +  +23x +23x +  +  +  +  +  +  +  +  +16x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import PropTypes from "prop-types";
+ 
+export function Image(props) {
+  const { src, alt, rounded = "", className = "" } = props;
+ 
+  return (
+    <>
+      <img src={src} alt={alt} className={`${className} ${rounded}`} />
+    </>
+  );
+}
+ 
+Image.propTypes = {
+  /**
+   * The text that the image tag will display
+   */
+  id: PropTypes.string,
+ 
+  /**
+   * Alternate text will be displayed in place of an image.
+   */
+  alt: PropTypes.string,
+ 
+  /**
+   * Identify source of image
+   */
+  src: PropTypes.string.isRequired,
+ 
+  /**
+   * css overrides for image
+   */
+  className: PropTypes.string,
+ 
+  /**
+   * Enables rounded corners for image
+   */
+  rounded: PropTypes.string,
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/atoms/Image.stories.js.html b/main/coverage/lcov-report/components/atoms/Image.stories.js.html new file mode 100644 index 0000000000..77efef0320 --- /dev/null +++ b/main/coverage/lcov-report/components/atoms/Image.stories.js.html @@ -0,0 +1,208 @@ + + + + + + Code coverage report for components/atoms/Image.stories.js + + + + + + + + + +
+
+

All files / components/atoms Image.stories.js

+
+ +
+ 94.11% + Statements + 16/17 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 12/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +421x +  +1x +  +  +  +1x +1x +  +  +  +1x +1x +1x +1x +  +1x +  +  +  +  +  +1x +  +  +  +  +  +  +1x +  +  +  +  +  +1x +  +  +  +  +  + 
import { Image } from "./Image";
+ 
+export default {
+  title: "Components/Atoms/Image",
+  component: Image,
+};
+import imageFile from "../../public/image1.png";
+import imageFile2 from "../../public/image2.png";
+ 
+const Template = (args) => <Image {...args} />;
+ 
+export const Default = Template.bind({});
+export const Mobile = Template.bind({});
+export const DefaultWithRounded = Template.bind({});
+export const MobileWithRounded = Template.bind({});
+ 
+Default.args = {
+  id: "image",
+  alt: "Default Image",
+  src: imageFile,
+};
+ 
+DefaultWithRounded.args = {
+  id: "image",
+  alt: "Default Image with rounded",
+  rounded: "rounded",
+  src: imageFile,
+};
+ 
+Mobile.args = {
+  id: "image",
+  alt: "Mobile Image",
+  src: imageFile2,
+};
+ 
+MobileWithRounded.args = {
+  id: "image",
+  alt: "Mobile Image with rounded",
+  rounded: "rounded",
+  src: imageFile2,
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/atoms/Link.js.html b/main/coverage/lcov-report/components/atoms/Link.js.html new file mode 100644 index 0000000000..d491d786d0 --- /dev/null +++ b/main/coverage/lcov-report/components/atoms/Link.js.html @@ -0,0 +1,514 @@ + + + + + + Code coverage report for components/atoms/Link.js + + + + + + + + + +
+
+

All files / components/atoms Link.js

+
+ +
+ 95.23% + Statements + 20/21 +
+ + +
+ 62.5% + Branches + 15/24 +
+ + +
+ 50% + Functions + 1/2 +
+ + +
+ 95.23% + Lines + 20/21 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144  +13x +  +  +  +349x +  +348x +348x +  +1x +  +1x +  +1x +  +1x +  +66x +  +66x +  +273x +  +273x +  +1x +  +1x +  +1x +  +1x +  +5x +  +5x +  +  +348x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +13x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
/* eslint-disable jsx-a11y/anchor-is-valid */
+import PropTypes from "prop-types";
+ 
+// Use this component for Footer link and use Next.js <Link>
+// for all links within the site
+export function Link({ target = "_self", href = "#", ...props }) {
+  //Styling for links based on Figma Design
+  let basicStyle = "";
+  switch (props.linkStyle) {
+    case "basicStyleWithEmphasis":
+      basicStyle =
+        "underline text-multi-blue-blue70b font-body text-browserh5 font-bold text-mobileh5 leading-33px hover:text-multi-blue-blue50b";
+      break;
+    case "titleLink":
+      basicStyle =
+        "underline text-multi-blue-blue70b font-header text-browserh5 leading-23px font-bold hover:text-multi-blue-blue50b";
+      break;
+    case "smfooterBlue":
+      basicStyle =
+        "text-multi-blue-blue70b font-body leading-20px text-browserh7 hover:underline";
+      break;
+    case "smfooterWhite":
+      basicStyle =
+        "text-multi-neutrals-white font-body text-browserh7 leading-20px font-regular hover:text-multi-neutrals-white hover:underline focus:ring-1 focus:ring-white";
+      break;
+    case "smBreadcrumbs":
+      basicStyle =
+        "text-multi-blue-blue70b font-body text-browserh8 leading-23px font-regular hover:text-multi-blue-blue50b";
+      break;
+    case "cardActionLink":
+      basicStyle =
+        "text-multi-blue-blue70b font-body text-browserh5 underline leading-28px font-regular hover:text-multi-blue-blue50b";
+      break;
+    default:
+      basicStyle =
+        "underline text-multi-blue-blue70b font-body text-browserh5 leading-33px hover:text-multi-blue-blue50b";
+      break;
+  }
+ 
+  const Component = props.component || "a";
+ 
+  function onKeyDown() {
+    true;
+  }
+ 
+  return Component !== "a" ? (
+    <Component
+      href={href}
+      disabled={props.disabled}
+      lang={props.lang}
+      target={target}
+      aria-label={props.ariaLabel || props.text}
+      role="link"
+    >
+      <a
+        href={href}
+        locale={props.locale}
+        onClick={props.onClick ? props.onClick : undefined}
+        id={props.id}
+        className={`${basicStyle}`}
+        data-gc-analytics-customclick={props.dataGcAnalyticsCustomClick}
+        onKeyDown={onKeyDown}
+      >
+        {/* <!-- English Text: English --> */}
+        <span className={props.abbr ? "language-toggle-text" : ""}>
+          {props.text}
+        </span>
+        {/* <!-- English Text: title="English", en --> */}
+        <abbr className="language-toggle-abbr" title={props.text}>
+          {props.abbr}
+        </abbr>
+      </a>
+    </Component>
+  ) : (
+    <a
+      href={href}
+      className={`${basicStyle}`}
+      id={props.id}
+      disabled={props.disabled}
+      lang={props.lang}
+      target={target}
+      aria-label={props.ariaLabel || props.text}
+      locale={props.locale}
+      onClick={props.onClick ? props.onClick : undefined}
+      data-gc-analytics-customclick={props.dataGcAnalyticsCustomClick}
+    >
+      {/* <!-- English Text: English --> */}
+      <span className={props.abbr ? "language-toggle-text" : ""}>
+        {props.text}
+      </span>
+      {/* <!-- English Text: title="English", en --> */}
+      <abbr className="language-toggle-abbr" title={props.text}>
+        {props.abbr}
+      </abbr>
+    </a>
+  );
+}
+ 
+Link.propTypes = {
+  /**
+   * The text that Text Link will display
+   */
+  text: PropTypes.string,
+  /**
+   * Abbrivation for text
+   */
+  abbr: PropTypes.string,
+  /**
+   * Style link as a Text Link when there's a href
+   */
+  href: PropTypes.string,
+  /**
+   * Target attribute to tell the browser where the linked document should be loaded.
+   */
+  target: PropTypes.string,
+  /**
+   * Identify which Text Link being clicked
+   */
+  id: PropTypes.string.isRequired,
+  /**
+   * Lang attribute for links that do not match the language of the top level document
+   */
+  lang: PropTypes.string,
+  /**
+   * css overrides for Link
+   */
+  className: PropTypes.string,
+ 
+  /**
+   * For tracking on click of forms for analytics
+   */
+  analyticsTracking: PropTypes.bool,
+ 
+  /**
+   * use ariaLabel to provide more descriptive text for a link (screen reader friendly)
+   */
+  ariaLabel: PropTypes.string,
+ 
+  /**
+   * Allow user to use configurable component, default is html anchor tag
+   */
+  component: PropTypes.elementType,
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/atoms/Link.stories.js.html b/main/coverage/lcov-report/components/atoms/Link.stories.js.html new file mode 100644 index 0000000000..f7989d34f3 --- /dev/null +++ b/main/coverage/lcov-report/components/atoms/Link.stories.js.html @@ -0,0 +1,253 @@ + + + + + + Code coverage report for components/atoms/Link.stories.js + + + + + + + + + +
+
+

All files / components/atoms Link.stories.js

+
+ +
+ 95.23% + Statements + 20/21 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 14/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +571x +  +1x +  +  +  +  +  +  +5x +3x +3x +3x +3x +3x +  +1x +  +  +  +  +  +1x +  +  +  +  +  +  +1x +  +  +  +  +  +  +1x +  +  +  +  +  +  +1x +  +  +  +  +  +  +1x +  +  +  +  +  + 
import { Link } from "./Link";
+ 
+export default {
+  title: "Components/Atoms/Link",
+  component: Link,
+};
+ 
+const Template = (args) => <Link {...args} />;
+ 
+export const Default = Template.bind({});
+export const RegularLinkwithEmphasis = Template.bind({});
+export const TitleLink = Template.bind({});
+export const FooterBlueLink = Template.bind({});
+export const BreadcrumbsLink = Template.bind({});
+export const CardActionLink = Template.bind({});
+ 
+Default.args = {
+  id: "link",
+  text: "Regular Link",
+  href: "/",
+};
+ 
+RegularLinkwithEmphasis.args = {
+  id: "link",
+  text: "Regular link with Emphasis",
+  href: "/",
+  linkStyle: "basicStyleWithEmphasis",
+};
+ 
+TitleLink.args = {
+  id: "link",
+  text: "Title Link",
+  href: "/",
+  linkStyle: "titleLink",
+};
+ 
+FooterBlueLink.args = {
+  id: "link",
+  text: "Small link - Footer blue",
+  href: "/",
+  linkStyle: "smfooterBlue",
+};
+ 
+BreadcrumbsLink.args = {
+  id: "link",
+  text: "Small link - Breadcrumbs & French toggle",
+  href: "/",
+  linkStyle: "smBreadcrumbs",
+};
+ 
+CardActionLink.args = {
+  id: "link",
+  text: "Card Action Link",
+  href: "/",
+  linkStyle: "cardActionLink",
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/atoms/MultiTextField.js.html b/main/coverage/lcov-report/components/atoms/MultiTextField.js.html new file mode 100644 index 0000000000..2e278c6caa --- /dev/null +++ b/main/coverage/lcov-report/components/atoms/MultiTextField.js.html @@ -0,0 +1,508 @@ + + + + + + Code coverage report for components/atoms/MultiTextField.js + + + + + + + + + +
+
+

All files / components/atoms MultiTextField.js

+
+ +
+ 100% + Statements + 7/7 +
+ + +
+ 66.66% + Branches + 8/12 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 100% + Lines + 7/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +1423x +3x +3x +  +  +  +  +5x +4x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +3x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import PropTypes from "prop-types";
+import { ErrorLabel } from "./ErrorLabel";
+import { useTranslation } from "next-i18next";
+ 
+/**
+ * multi line text field
+ */
+export function MultiTextField({ spellCheck = true, wrap = "soft", ...props }) {
+  const { t } = useTranslation("common");
+ 
+  return (
+    <div
+      className={`block leading-tight${
+        props.className ? " " + props.className : " mb-12"
+      }`}
+    >
+      <label
+        className={`block leading-tight text-sm lg:text-p font-body mb-5px ${
+          props.boldLabel ? "font-bold" : ""
+        }`}
+        htmlFor={props.id}
+      >
+        {props.required ? (
+          <b className="text-error-border-red" aria-hidden="true">
+            *
+          </b>
+        ) : undefined}{" "}
+        {props.label}{" "}
+      </label>
+      <p id={props.describedby} className="text-sm lg:text-g mb-5 leading-30px">
+        {t("doNotInclude")}
+      </p>
+      {props.error ? <ErrorLabel message={props.error} /> : undefined}
+      <textarea
+        className={`text-input font-body w-full min-h-40px shadow-sm text-form-input-gray border-2 py-6px px-12px ${
+          props.error ? "border-error-border-red" : "border-black"
+        }`}
+        id={props.id}
+        name={props.name}
+        placeholder={props.placeholder}
+        onChange={(e) => props.onChange(e.currentTarget.value)}
+        cols={props.cols}
+        rows={props.rows}
+        spellCheck={spellCheck}
+        wrap={wrap}
+        required={props.required}
+        data-testid={props.dataTestId}
+        data-cy={props.dataCy}
+        aria-describedby={props.describedby}
+      >
+        {props.value}
+      </textarea>
+    </div>
+  );
+}
+ 
+MultiTextField.propTypes = {
+  /**
+   * additional css for the component
+   */
+  className: PropTypes.string,
+ 
+  /**
+   * the id of the multi text field
+   */
+  id: PropTypes.string.isRequired,
+  /**
+   * the name of the multi text field
+   */
+  name: PropTypes.string.isRequired,
+  /**
+   * the label for the multi text field
+   */
+  label: PropTypes.string.isRequired,
+ 
+  /**
+   * the value for the multi text field
+   */
+  value: PropTypes.string,
+ 
+  /**
+   * message to display if there is an error
+   */
+  error: PropTypes.string,
+ 
+  /**
+   * whether or not the field is required
+   */
+  required: PropTypes.bool,
+ 
+  /**
+   * whether or not spellchecking is enabled for this field, by default it is
+   */
+  spellCheck: PropTypes.bool,
+ 
+  /**
+   * whether or not the label is bold
+   */
+  boldLabel: PropTypes.bool,
+  /**
+   * whether to soft wrap or hard wrap the field
+   */
+  wrap: PropTypes.oneOf(["soft", "hard"]),
+  /**
+   * the placeholder for the multi text field
+   */
+  placeholder: PropTypes.string,
+  /**
+   * how much lines should the multi text field show
+   */
+  rows: PropTypes.number,
+  /**
+   * how much columns should the multi text field show
+   */
+  cols: PropTypes.number,
+  /**
+   * the minimum length of characters for the multi text field
+   */
+  minLength: PropTypes.number,
+  /**
+   * the maximum length of characters for the multi text field
+   */
+  maxLength: PropTypes.number,
+  /**
+   * call back for when the value of the multi text field changes
+   */
+  onChange: PropTypes.func,
+  /**
+   * unit test selector
+   */
+  dataTestId: PropTypes.string,
+  /**
+   * cypress selector
+   */
+  dataCy: PropTypes.string,
+ 
+  /**
+   * aria-describedby label id
+   */
+  describedby: PropTypes.string,
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/atoms/MultiTextField.stories.js.html b/main/coverage/lcov-report/components/atoms/MultiTextField.stories.js.html new file mode 100644 index 0000000000..747076a309 --- /dev/null +++ b/main/coverage/lcov-report/components/atoms/MultiTextField.stories.js.html @@ -0,0 +1,232 @@ + + + + + + Code coverage report for components/atoms/MultiTextField.stories.js + + + + + + + + + +
+
+

All files / components/atoms MultiTextField.stories.js

+
+ +
+ 76.92% + Statements + 10/13 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 9/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +501x +1x +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +4x +1x +  +  +  +  +  +  +  +1x +1x +  +  +  +  +  +  +  +  +1x +1x +  +  +  +  +  +  +  +  +  + 
import React from "react";
+import { MultiTextField } from "./MultiTextField";
+ 
+export default {
+  title: "Components/Atoms/MultiTextField",
+  component: MultiTextField,
+  decorators: [
+    (Story) => (
+      <div className="w-full flex justify-center">
+        <div className="w-96">
+          <Story />
+        </div>
+      </div>
+    ),
+  ],
+};
+ 
+const Template = (args) => <MultiTextField i {...args} />;
+ 
+export const Primary = Template.bind({});
+Primary.args = {
+  id: "multiTextField1",
+  name: "multiTextField1",
+  label: "I am a multi text field",
+  dataTestId: "multitext-one",
+  placeholder: "some placeholder text",
+};
+ 
+export const BoldLabel = Template.bind({});
+BoldLabel.args = {
+  id: "multiTextField1",
+  name: "multiTextField1",
+  label: "I am a multi text field",
+  dataTestId: "multitext-bold",
+  placeholder: "some placeholder text",
+  boldLabel: true,
+};
+ 
+export const HardWrap = Template.bind({});
+HardWrap.args = {
+  id: "multiTextField1",
+  name: "multiTextField1",
+  label: "I am a multi text field",
+  dataTestId: "multitext-hard-wrap",
+  placeholder: "some placeholder text",
+  cols: 30,
+  rows: 5,
+  wrap: "hard",
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/atoms/ProjectInfo.js.html b/main/coverage/lcov-report/components/atoms/ProjectInfo.js.html new file mode 100644 index 0000000000..3747a4bed1 --- /dev/null +++ b/main/coverage/lcov-report/components/atoms/ProjectInfo.js.html @@ -0,0 +1,226 @@ + + + + + + Code coverage report for components/atoms/ProjectInfo.js + + + + + + + + + +
+
+

All files / components/atoms ProjectInfo.js

+
+ +
+ 100% + Statements + 4/4 +
+ + +
+ 100% + Branches + 4/4 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 4/4 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +487x +7x +  +9x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +7x +  +  +  +  +  +  +  + 
import PropTypes from "prop-types";
+import { HelpIcon } from "../organisms/HelpIcon";
+ 
+export function ProjectInfo(props) {
+  return (
+    <>
+      <div className="grid grid-cols-1 xl:grid-cols-3 gap-x-2 text-[20px]">
+        <strong className="font-body col-span-1">{props.termStarted}</strong>
+        <p className="col-span-2">
+          {props.dateStarted && props.dateStarted.substring(0, 10)}
+        </p>
+        <strong className="font-body col-span-1">{props.termEnded}</strong>
+        <p className="col-span-2">
+          {props.dateEnded && props.dateEnded.substring(0, 10)}
+        </p>
+        <strong className="font-body col-span-1 my-auto">
+          {props.termStage}
+        </strong>
+        <div className="flex col-span-2 items-end">
+          <div className="shrink-0 flex">
+            <p className="my-auto">{props.stage}</p>
+            <div className="my-auto">
+              <HelpIcon
+                lang={props.locale}
+                title={props.stage}
+                body={props.definition}
+              />
+            </div>
+          </div>
+        </div>
+        <strong className="font-body col-span-1 col-start-1">
+          {props.termSummary}
+        </strong>
+        <p className="col-span-2">{props.summary}</p>
+      </div>
+    </>
+  );
+}
+ 
+ProjectInfo.propTypes = {
+  dateStarted: PropTypes.string,
+  dateEnded: PropTypes.string,
+  stage: PropTypes.string,
+  summary: PropTypes.string,
+  info: PropTypes.string,
+  locale: PropTypes.string,
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/atoms/ProjectInfo.stories.js.html b/main/coverage/lcov-report/components/atoms/ProjectInfo.stories.js.html new file mode 100644 index 0000000000..29cb8fc662 --- /dev/null +++ b/main/coverage/lcov-report/components/atoms/ProjectInfo.stories.js.html @@ -0,0 +1,136 @@ + + + + + + Code coverage report for components/atoms/ProjectInfo.stories.js + + + + + + + + + +
+
+

All files / components/atoms ProjectInfo.stories.js

+
+ +
+ 83.33% + Statements + 5/6 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 4/4 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +181x +  +1x +  +  +  +  +  +  +4x +  +1x +  +  +  +  +  + 
import { ProjectInfo } from "./ProjectInfo";
+ 
+export default {
+  title: "Components/Atoms/ProjectInfo",
+  component: ProjectInfo,
+};
+ 
+const Template = (args) => <ProjectInfo {...args} />;
+ 
+export const Primary = Template.bind({});
+ 
+Primary.args = {
+  dateStarted: "2021-01-01",
+  dateEnded: "2022-03-31",
+  stage: "Alpha",
+  summary: "Project status",
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/atoms/RadioButton.js.html b/main/coverage/lcov-report/components/atoms/RadioButton.js.html new file mode 100644 index 0000000000..15b5782e52 --- /dev/null +++ b/main/coverage/lcov-report/components/atoms/RadioButton.js.html @@ -0,0 +1,418 @@ + + + + + + Code coverage report for components/atoms/RadioButton.js + + + + + + + + + +
+
+

All files / components/atoms RadioButton.js

+
+ +
+ 90% + Statements + 9/10 +
+ + +
+ 90.9% + Branches + 10/11 +
+ + +
+ 100% + Functions + 3/3 +
+ + +
+ 90% + Lines + 9/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +1122x +  +  +  +  +17x +16x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +3x +  +  +1x +1x +1x +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +2x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import PropTypes from "prop-types";
+ 
+/**
+ * Radio input styled as a button
+ **/
+export function RadioButton({ checked = false, ...props }) {
+  const ifControlledProps = !props.uncontrolled
+    ? {
+        checked: checked,
+      }
+    : {
+        defaultChecked: checked || false,
+      };
+  return (
+    <div className="flex relative">
+      <input
+        type="radio"
+        className="radio-button absolute top-0 left-0 w-full h-full appearance-none cursor-pointer"
+        id={props.id}
+        name={props.name}
+        value={props.value}
+        onChange={(e) => {
+          props.onChange(props.value, e);
+        }}
+        onKeyUp={(e) => {
+          if (e.key === "Enter") {
+            e.preventDefault();
+            Iif (props.uncontrolled) {
+              e.currentTarget.checked = true;
+            }
+            props.onChange(props.value, e);
+          }
+        }}
+        data-testid={props.dataTestId}
+        data-cy={props.dataCy}
+        required={props.required}
+        {...ifControlledProps}
+      />
+      <label
+        className={`radio-button-label font-body float-left text-xs px-5 py-3 border border-solid border-gray-600 border-opacity-50${
+          props.roundedFront ? " rounded-l-lg" : ""
+        }${props.roundedBack ? " rounded-r-lg" : ""}`}
+        htmlFor={props.id}
+      >
+        {props.label}
+      </label>
+    </div>
+  );
+}
+ 
+RadioButton.propTypes = {
+  /**
+   * the id for the input
+   */
+  id: PropTypes.string.isRequired,
+ 
+  /**
+   * the name for the input
+   */
+  name: PropTypes.string.isRequired,
+ 
+  /**
+   * the value for the input
+   */
+  value: PropTypes.string.isRequired,
+ 
+  /**
+   * the label for the radio button
+   */
+  label: PropTypes.string.isRequired,
+ 
+  /**
+   * whether or not the field is required
+   */
+  required: PropTypes.bool,
+ 
+  /**
+   * whether the radio button is checked or not
+   */
+  checked: PropTypes.bool,
+ 
+  /**
+   * Should the button be rounded in the front
+   */
+  roundedFront: PropTypes.bool,
+ 
+  /**
+   * Should the button be rounded in the back
+   */
+  roundedBack: PropTypes.bool,
+ 
+  /**
+   * if the input is controlled by react or not
+   */
+  uncontrolled: PropTypes.bool,
+ 
+  /**
+   * onChange callback
+   */
+  onChange: PropTypes.func,
+ 
+  /**
+   * unit test selector
+   */
+  dataTestId: PropTypes.string,
+ 
+  /**
+   * cypress test selector
+   */
+  dataCy: PropTypes.string,
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/atoms/RadioButton.stories.js.html b/main/coverage/lcov-report/components/atoms/RadioButton.stories.js.html new file mode 100644 index 0000000000..bfc819fa4c --- /dev/null +++ b/main/coverage/lcov-report/components/atoms/RadioButton.stories.js.html @@ -0,0 +1,259 @@ + + + + + + Code coverage report for components/atoms/RadioButton.stories.js + + + + + + + + + +
+
+

All files / components/atoms RadioButton.stories.js

+
+ +
+ 94.73% + Statements + 18/19 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 13/13 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +591x +1x +  +1x +  +  +  +  +  +  +12x +1x +  +  +  +  +  +  +  +2x +1x +  +  +  +  +  +  +  +  +3x +1x +  +  +  +  +  +  +  +  +3x +1x +  +  +  +  +  +  +  +  +3x +1x +  +  +  +  +  +  +  + 
import React from "react";
+import { RadioButton } from "./RadioButton";
+ 
+export default {
+  title: "Components/Atoms/RadioButton",
+  component: RadioButton,
+};
+ 
+const Template = (args) => <RadioButton {...args} />;
+ 
+export const Primary = Template.bind({});
+Primary.args = {
+  id: "radio-button-1",
+  name: "radio_button_1",
+  value: "Some Value",
+  label: "My Radio Button",
+  dataTestId: "primary",
+};
+ 
+export const Checked = Template.bind({});
+Checked.args = {
+  id: "radio-button-checked",
+  name: "radio_button_checked",
+  value: "Some Value",
+  label: "My Radio Button",
+  dataTestId: "checked",
+  checked: true,
+};
+ 
+export const UnControlled = Template.bind({});
+UnControlled.args = {
+  id: "radio-button-uncontrolled",
+  name: "radio_button_uncontrolled",
+  value: "Some Value",
+  label: "My Radio Button",
+  dataTestId: "uncontrolled",
+  uncontrolled: true,
+};
+ 
+export const RoundedFront = Template.bind({});
+RoundedFront.args = {
+  id: "radio-button-rounded-front",
+  name: "radio_button_rounded_front",
+  value: "Some Value",
+  label: "My Radio Button",
+  dataTestId: "roundedFront",
+  roundedFront: true,
+};
+ 
+export const RoundedBack = Template.bind({});
+RoundedBack.args = {
+  id: "radio-button-rounded-back",
+  name: "radio_button_rounded_back",
+  value: "Some Value",
+  label: "My Radio Button",
+  dataTestId: "roundedBack",
+  roundedBack: true,
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/atoms/RadioField.js.html b/main/coverage/lcov-report/components/atoms/RadioField.js.html new file mode 100644 index 0000000000..17dca39eb7 --- /dev/null +++ b/main/coverage/lcov-report/components/atoms/RadioField.js.html @@ -0,0 +1,412 @@ + + + + + + Code coverage report for components/atoms/RadioField.js + + + + + + + + + +
+
+

All files / components/atoms RadioField.js

+
+ +
+ 83.33% + Statements + 5/6 +
+ + +
+ 58.33% + Branches + 7/12 +
+ + +
+ 66.66% + Functions + 2/3 +
+ + +
+ 83.33% + Lines + 5/6 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +1104x +  +  +  +  +10x +8x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +4x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import PropTypes from "prop-types";
+ 
+/**
+ * radio field
+ */
+export function RadioField({ checked = false, value = "true", ...props }) {
+  const ifControlledProps = !props.uncontrolled
+    ? {
+        checked: checked,
+      }
+    : {};
+  return (
+    <div
+      className={`block leading-tight relative pl-40px h-40px clear-left mb-10px${
+        props.className ? " " + props.className : ""
+      }`}
+    >
+      <input
+        className="control-input cursor-pointer appearance-none w-40px h-40px absolute left-0 m-0 z-1 opacity-0"
+        id={props.id}
+        name={props.name}
+        value={value}
+        type="radio"
+        onChange={(e) =>
+          props.onChange(
+            props.uncontrolled ? !e.currentTarget.checked : checked,
+            props.name,
+            value
+          )
+        }
+        aria-required={props.required}
+        aria-invalid={props.error ? "true" : undefined}
+        data-cy={props.dataCy}
+        data-testid={props.dataTestId}
+        {...ifControlledProps}
+      />
+      <label
+        className={`radio-field-label control-label inline-block cursor-pointer pt-4px pb-5px px-15px text-sm lg:text-p leading-tight sm:leading-6 font-normal font-body${
+          props.error ? " text-error-border-red" : undefined
+        }`}
+        htmlFor={props.id}
+        onClick={() => props.onChange(checked, props.name, value)}
+      >
+        {props.label}
+      </label>
+    </div>
+  );
+}
+ 
+RadioField.propTypes = {
+  /**
+   * additional css for the component
+   */
+  className: PropTypes.string,
+  /**
+   * whether or not the checkbox is checked
+   */
+  checked: PropTypes.bool.isRequired,
+ 
+  /**
+   * the value of the field when the checkbox is checked
+   */
+  value: PropTypes.string,
+ 
+  /**
+   * the name of the checkbox
+   */
+  name: PropTypes.string.isRequired,
+ 
+  /**
+   * whether or not there is an error
+   */
+  error: PropTypes.bool,
+ 
+  /**
+   * whether or not the field is required
+   */
+  required: PropTypes.bool,
+ 
+  /**
+   * the id of the checkbox
+   */
+  id: PropTypes.string.isRequired,
+ 
+  /**
+   * the label for the checkbox
+   */
+  label: PropTypes.string.isRequired,
+ 
+  /**
+   * callback to handle change in checked state, takes three arguments, the checked state, the name and the value
+   */
+  onChange: PropTypes.func,
+ 
+  /**
+   * boolean flag to specify that this input should not be controlled by react
+   */
+  uncontrolled: PropTypes.bool,
+ 
+  /**
+   * testing selector for cypress
+   */
+  dataCy: PropTypes.string,
+ 
+  /**
+   * testing selector for unit tests
+   */
+  dataTestId: PropTypes.string,
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/atoms/RadioField.stories.js.html b/main/coverage/lcov-report/components/atoms/RadioField.stories.js.html new file mode 100644 index 0000000000..d2aab59ee6 --- /dev/null +++ b/main/coverage/lcov-report/components/atoms/RadioField.stories.js.html @@ -0,0 +1,226 @@ + + + + + + Code coverage report for components/atoms/RadioField.stories.js + + + + + + + + + +
+
+

All files / components/atoms RadioField.stories.js

+
+ +
+ 84.61% + Statements + 11/13 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 9/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +481x +1x +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +7x +1x +  +  +  +  +  +  +  +4x +1x +  +  +  +  +  +  +  +  +1x +1x +  +  +  +  +  +  +  + 
import React from "react";
+import { RadioField } from "./RadioField";
+ 
+export default {
+  title: "Components/Atoms/RadioField",
+  component: RadioField,
+  decorators: [
+    (Story) => (
+      <div className="w-full flex justify-center">
+        <div className="w-96">
+          <Story />
+        </div>
+      </div>
+    ),
+  ],
+};
+ 
+const Template = (args) => <RadioField {...args} />;
+ 
+export const UnChecked = Template.bind({});
+UnChecked.args = {
+  id: "radio 1",
+  name: "RadioField1",
+  value: "IsChecked",
+  label: "I am a radio button",
+  dataTestId: "unchecked-radio-field",
+};
+ 
+export const Checked = Template.bind({});
+Checked.args = {
+  id: "radio 1",
+  name: "RadioField1",
+  value: "IsChecked",
+  label: "I am a radio button",
+  dataTestId: "checked-radio-field",
+  checked: true,
+};
+ 
+export const UnControlled = Template.bind({});
+UnControlled.args = {
+  id: "radio 1",
+  name: "RadioField1",
+  value: "IsChecked",
+  label: "I am an uncontrolled checkbox",
+  dataTestId: "uncontrolled-checkbox",
+  uncontrolled: true,
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/atoms/SearchBar.js.html b/main/coverage/lcov-report/components/atoms/SearchBar.js.html new file mode 100644 index 0000000000..8bc6806490 --- /dev/null +++ b/main/coverage/lcov-report/components/atoms/SearchBar.js.html @@ -0,0 +1,244 @@ + + + + + + Code coverage report for components/atoms/SearchBar.js + + + + + + + + + +
+
+

All files / components/atoms SearchBar.js

+
+ +
+ 100% + Statements + 3/3 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 3/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +541x +  +  +  +  +3x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import PropTypes from "prop-types";
+ 
+/**
+ *  component
+ */
+export function SearchBar(props) {
+  return (
+    <form
+      className="w-full inline-flex h-9 lg:w-full xl:w-80 w-full border border-solid border-gray-light-100"
+      onSubmit={props.onSubmit}
+      data-cy={props.dataCy}
+    >
+      <input
+        type="text"
+        placeholder={props.placeholder}
+        className="placeholder-text-gray text-text-gray font-body py-1 px-2 focus:outline-none w-full"
+        onChange={props.onChange}
+      />
+ 
+      <button
+        title="Search bar button"
+        type="submit"
+        className={
+          "bg-custom-blue-dark text-white text-center text-base rounded-none pt-0.5 h-full w-10 hover:bg-gray-dark active:bg-gray-dark focus:bg-gray-dark"
+        }
+      >
+        <span className="icon-search" />
+      </button>
+    </form>
+  );
+}
+ 
+SearchBar.propTypes = {
+  /**
+   * Placeholder for the search bar
+   */
+  placeholder: PropTypes.string.isRequired,
+ 
+  /**
+   * Action to do on input change
+   */
+  onChange: PropTypes.func,
+ 
+  /**
+   * Action to do on form submit
+   */
+  onSubmit: PropTypes.func,
+ 
+  /**
+   * Test id for cypress test
+   */
+  dataCy: PropTypes.string,
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/atoms/SearchBar.stories.js.html b/main/coverage/lcov-report/components/atoms/SearchBar.stories.js.html new file mode 100644 index 0000000000..14efabe013 --- /dev/null +++ b/main/coverage/lcov-report/components/atoms/SearchBar.stories.js.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for components/atoms/SearchBar.stories.js + + + + + + + + + +
+
+

All files / components/atoms SearchBar.stories.js

+
+ +
+ 83.33% + Statements + 5/6 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 4/4 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +  +1x +  +  +  +  +  +  +4x +  +1x +  +  + 
import { SearchBar } from "./SearchBar";
+ 
+export default {
+  title: "Components/Atoms/SearchBar",
+  component: SearchBar,
+};
+ 
+const Template = (args) => <SearchBar {...args} />;
+ 
+export const Primary = Template.bind({});
+ 
+Primary.args = {
+  placeholder: "Search Canada.ca",
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/atoms/SelectField.js.html b/main/coverage/lcov-report/components/atoms/SelectField.js.html new file mode 100644 index 0000000000..4014f01f20 --- /dev/null +++ b/main/coverage/lcov-report/components/atoms/SelectField.js.html @@ -0,0 +1,571 @@ + + + + + + Code coverage report for components/atoms/SelectField.js + + + + + + + + + +
+
+

All files / components/atoms SelectField.js

+
+ +
+ 92.3% + Statements + 12/13 +
+ + +
+ 55.55% + Branches + 10/18 +
+ + +
+ 75% + Functions + 3/4 +
+ + +
+ 92.3% + Lines + 12/13 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +1631x +1x +1x +  +4x +2x +  +2x +  +  +  +  +  +2x +2x +6x +6x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +8x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import PropTypes from "prop-types";
+import { ErrorLabel } from "./ErrorLabel";
+import { useTranslation } from "next-i18next";
+ 
+export function SelectField({ value = "", ...props }) {
+  const { t } = useTranslation("common");
+ 
+  const ifControlledProps = !props.uncontrolled
+    ? {
+        value: value,
+      }
+    : {};
+ 
+  if (!props.ignoreSort) {
+    props.options.sort(function (a, b) {
+      var collator = new Intl.Collator("fr");
+      return collator.compare(a.name.toLowerCase(), b.name.toLowerCase());
+    });
+  }
+ 
+  return (
+    <div
+      className={`block leading-tight${
+        props.className ? " " + props.className : " mb-10px"
+      }`}
+    >
+      <label
+        className={`select-field-label block leading-tight text-sm lg:text-p font-body mb-5 ${
+          props.boldLabel ? "font-bold" : ""
+        }`}
+        htmlFor={props.id + "-choice"}
+      >
+        {props.required ? (
+          <b className="text-error-border-red" aria-hidden="true">
+            *
+          </b>
+        ) : undefined}{" "}
+        {props.label}{" "}
+      </label>
+      {props.error ? <ErrorLabel message={props.error} /> : undefined}
+      <select
+        className={`text-input select-field bg-white font-body w-full min-h-40px shadow-sm border-2 py-6px px-12px ${
+          props.error ? "border-error-border-red" : "border-black"
+        }`}
+        id={props.id + "-choice"}
+        name={props.name}
+        aria-required={props.required}
+        aria-invalid={props.error ? "true" : undefined}
+        onChange={(e) => props.onChange(e.currentTarget.value)}
+        {...ifControlledProps}
+        data-testid={props.dataTestId + "-choice"}
+        data-cy={props.dataCy + "-choice"}
+      >
+        <option
+          key="default"
+          value=""
+          data-testid="default"
+          data-cy="default"
+        />
+        {props.options.map(({ id, name, value }) => {
+          return (
+            <option key={id} value={value} data-testid={id} data-cy={id}>
+              {name}
+            </option>
+          );
+        })}
+        {props.other ? (
+          <option
+            key={"other"}
+            value={"other"}
+            data-testid={"other"}
+            data-cy={"other"}
+          >
+            {t("reportAProblemOther")}
+          </option>
+        ) : (
+          ""
+        )}
+      </select>
+    </div>
+  );
+}
+ 
+SelectField.propTypes = {
+  /**
+   * additional css for the component
+   */
+  className: PropTypes.string,
+ 
+  /**
+   * the id of the text field
+   */
+  id: PropTypes.string.isRequired,
+ 
+  /**
+   * the name of the text field
+   */
+  name: PropTypes.string.isRequired,
+ 
+  /**
+   * the label of the text field
+   */
+  label: PropTypes.string.isRequired,
+ 
+  /**
+   * whether ot not the field is required
+   */
+  required: PropTypes.bool,
+ 
+  /**
+   * value of the text field
+   */
+  value: PropTypes.string.isRequired,
+ 
+  /**
+   * call back for when the value of the text field changes
+   */
+  onChange: PropTypes.func,
+ 
+  /**
+   * message to display if there is an error
+   */
+  error: PropTypes.string,
+ 
+  /**
+   * Other option for dropdown
+   */
+  other: PropTypes.bool,
+ 
+  /**
+   * if label should be bold
+   */
+  boldLabel: PropTypes.bool,
+ 
+  /**
+   * boolean flag to specify that this input should be uncontrolled by react
+   */
+  uncontrolled: PropTypes.bool,
+ 
+  options: PropTypes.arrayOf(
+    PropTypes.shape({
+      id: PropTypes.string.isRequired,
+      name: PropTypes.string.isRequired,
+      value: PropTypes.string.isRequired,
+    })
+  ),
+ 
+  /**
+   * unit test selector
+   */
+  dataTestId: PropTypes.string,
+ 
+  /**
+   * cypress tests selector
+   */
+  dataCy: PropTypes.string,
+ 
+  /**
+   * if true, skip sorting the options
+   */
+  ignoreSort: PropTypes.bool,
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/atoms/SelectField.stories.js.html b/main/coverage/lcov-report/components/atoms/SelectField.stories.js.html new file mode 100644 index 0000000000..66f49433f1 --- /dev/null +++ b/main/coverage/lcov-report/components/atoms/SelectField.stories.js.html @@ -0,0 +1,232 @@ + + + + + + Code coverage report for components/atoms/SelectField.stories.js + + + + + + + + + +
+
+

All files / components/atoms SelectField.stories.js

+
+ +
+ 85.71% + Statements + 6/7 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 5/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +501x +1x +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +4x +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from "react";
+import { SelectField } from "./SelectField";
+ 
+export default {
+  title: "Components/Atoms/SelectField",
+  component: SelectField,
+  decorators: [
+    (Story) => (
+      <div className="w-full flex justify-center">
+        <div className="w-96">
+          <Story />
+        </div>
+      </div>
+    ),
+  ],
+};
+ 
+const Template = (args) => <SelectField {...args} />;
+ 
+export const Primary = Template.bind({});
+Primary.args = {
+  id: "select-field-1",
+  name: "selectField1",
+  label: "I am a select field",
+  uncontrolled: true,
+  dataTestId: "select-field-1",
+  options: [
+    {
+      id: "option1",
+      name: "Option 1",
+      value: "option1",
+    },
+    {
+      id: "option2",
+      name: "Option 2",
+      value: "option2",
+    },
+    {
+      id: "option3",
+      name: "Option 3",
+      value: "option3",
+    },
+    {
+      id: "option4",
+      name: "Option 4",
+      value: "option4",
+    },
+  ],
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/atoms/TableOfContents.js.html b/main/coverage/lcov-report/components/atoms/TableOfContents.js.html new file mode 100644 index 0000000000..fb01d78a8c --- /dev/null +++ b/main/coverage/lcov-report/components/atoms/TableOfContents.js.html @@ -0,0 +1,187 @@ + + + + + + Code coverage report for components/atoms/TableOfContents.js + + + + + + + + + +
+
+

All files / components/atoms TableOfContents.js

+
+ +
+ 100% + Statements + 4/4 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 100% + Lines + 4/4 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +351x +  +3x +  +  +  +  +  +  +2x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  + 
import PropTypes from "prop-types";
+ 
+export function TableOfContents(props) {
+  return (
+    <>
+      <h2 className="font-semibold">{props.title}</h2>
+      <nav>
+        <ul className="leading-4 list-disc">
+          {props.headings.map((heading) => (
+            <li key={heading.id}>
+              <a
+                className="underline text-custom-blue-link underline hover:text-custom-blue-projects-link"
+                href={`#${heading.id}`}
+              >
+                {heading.text}
+              </a>
+            </li>
+          ))}
+        </ul>
+      </nav>
+    </>
+  );
+}
+ 
+TableOfContents.propTypes = {
+  /**
+   * The title for the table of contents
+   */
+  title: PropTypes.string,
+  /**
+   * An array of headings
+   */
+  headings: PropTypes.array,
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/atoms/TableOfContents.stories.js.html b/main/coverage/lcov-report/components/atoms/TableOfContents.stories.js.html new file mode 100644 index 0000000000..35be5e1958 --- /dev/null +++ b/main/coverage/lcov-report/components/atoms/TableOfContents.stories.js.html @@ -0,0 +1,130 @@ + + + + + + Code coverage report for components/atoms/TableOfContents.stories.js + + + + + + + + + +
+
+

All files / components/atoms TableOfContents.stories.js

+
+ +
+ 83.33% + Statements + 5/6 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 4/4 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +161x +  +1x +  +  +  +  +  +  +4x +  +1x +  +  +  + 
import { TableOfContents } from "./TableOfContents";
+ 
+export default {
+  title: "Components/Atoms/TableOfContents",
+  component: TableOfContents,
+};
+ 
+const Template = (args) => <TableOfContents {...args} />;
+ 
+export const Primary = Template.bind({});
+ 
+Primary.args = {
+  title: "Table of Contents Title",
+  headings: [{ id: "heading-one", text: "Heading one" }],
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/atoms/TextField.js.html b/main/coverage/lcov-report/components/atoms/TextField.js.html new file mode 100644 index 0000000000..42541a4033 --- /dev/null +++ b/main/coverage/lcov-report/components/atoms/TextField.js.html @@ -0,0 +1,595 @@ + + + + + + Code coverage report for components/atoms/TextField.js + + + + + + + + + +
+
+

All files / components/atoms TextField.js

+
+ +
+ 100% + Statements + 8/8 +
+ + +
+ 65% + Branches + 13/20 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 100% + Lines + 8/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +1713x +3x +3x +  +  +  +  +7x +6x +  +6x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +2x +  +  +  +  +  +  +  +  +3x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import PropTypes from "prop-types";
+import { ErrorLabel } from "./ErrorLabel";
+import { useTranslation } from "next-i18next";
+ 
+/**
+ * text field component
+ */
+export function TextField({ value = "", type = "text", ...props }) {
+  const { t } = useTranslation("common");
+ 
+  const ifControlledProps = !props.uncontrolled
+    ? {
+        value: value,
+      }
+    : {};
+  return (
+    <div
+      className={`block leading-tight${
+        props.className ? " " + props.className : " mb-10px"
+      }`}
+    >
+      <label
+        className={`block leading-tight text-sm lg:text-p font-body mb-5 ${
+          props.boldLabel ? "font-bold" : ""
+        }`}
+        htmlFor={props.id}
+      >
+        {props.required ? (
+          <b className="text-error-border-red" aria-hidden="true">
+            *
+          </b>
+        ) : undefined}{" "}
+        {props.label}{" "}
+      </label>
+      {props.describedby ? (
+        <p
+          id={props.describedby}
+          className="text-xs lg:text-sm mb-5 leading-30px"
+        >
+          {t("doNotInclude")}
+        </p>
+      ) : (
+        ""
+      )}
+ 
+      {props.error ? <ErrorLabel message={props.error} /> : undefined}
+      <input
+        className={`text-input font-body w-full lg:w-3/4 min-h-40px shadow-sm text-form-input-gray border-2 py-6px px-12px ${
+          props.error ? "border-error-border-red" : "border-black"
+        } ${props.exclude ? "exclude" : ""}`}
+        id={props.id}
+        aria-describedby={props.describedby}
+        name={props.name}
+        placeholder={props.placeholder}
+        type={type}
+        min={props.min}
+        max={props.max}
+        step={props.step}
+        aria-required={props.required}
+        aria-invalid={props.error ? "true" : undefined}
+        onChange={(e) => props.onChange(e.currentTarget.value)}
+        {...ifControlledProps}
+        data-testid={props.dataTestId}
+        data-cy={props.dataCy}
+        autoComplete={props.autoComplete}
+      />
+    </div>
+  );
+}
+TextField.propTypes = {
+  /**
+   * additional css for the component
+   */
+  className: PropTypes.string,
+ 
+  /**
+   * the id of the text field
+   */
+  id: PropTypes.string.isRequired,
+ 
+  /**
+   * the name of the text field
+   */
+  name: PropTypes.string.isRequired,
+ 
+  /**
+   * the label of the text field
+   */
+  label: PropTypes.string.isRequired,
+ 
+  /**
+   * whether ot not the field is required
+   */
+  required: PropTypes.bool,
+ 
+  /**
+   * value of the text field
+   */
+  value: PropTypes.string,
+ 
+  /**
+   * placeholder for the text field,
+   */
+  placeholder: PropTypes.string,
+ 
+  /**
+   * the type of the input
+   */
+  type: PropTypes.string,
+ 
+  /**
+   * call back for when the value of the text field changes
+   */
+  onChange: PropTypes.func,
+ 
+  /**
+   * message to display if there is an error
+   */
+  error: PropTypes.string,
+ 
+  /**
+   * if label should be bold
+   */
+  boldLabel: PropTypes.bool,
+ 
+  /**
+   * boolean flag to specify that this input should be uncontrolled by react
+   */
+  uncontrolled: PropTypes.bool,
+ 
+  /**
+   * min value allowed
+   */
+  min: PropTypes.number,
+ 
+  /**
+   * max value allowed
+   */
+  max: PropTypes.number,
+ 
+  /**
+   * the legal number of intervals
+   */
+  step: PropTypes.number,
+ 
+  /**
+   * unit test selector
+   */
+  dataTestId: PropTypes.string,
+ 
+  /**
+   * cypress tests selector
+   */
+  dataCy: PropTypes.string,
+ 
+  /**
+   * Exclude option for adding exclude class to the textfield
+   */
+  exclude: PropTypes.bool,
+ 
+  /**
+   * aria-describedby label id
+   */
+  describedby: PropTypes.string,
+ 
+  /**
+   * Option to enable autocomplete on field
+   */
+  autocomplete: PropTypes.string,
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/atoms/TextField.stories.js.html b/main/coverage/lcov-report/components/atoms/TextField.stories.js.html new file mode 100644 index 0000000000..134d167e23 --- /dev/null +++ b/main/coverage/lcov-report/components/atoms/TextField.stories.js.html @@ -0,0 +1,229 @@ + + + + + + Code coverage report for components/atoms/TextField.stories.js + + + + + + + + + +
+
+

All files / components/atoms TextField.stories.js

+
+ +
+ 92.3% + Statements + 12/13 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 9/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +491x +1x +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +4x +1x +  +  +  +  +  +  +  +2x +1x +  +  +  +  +  +  +  +  +3x +1x +  +  +  +  +  +  +  +  + 
import React from "react";
+import { TextField } from "./TextField";
+ 
+export default {
+  title: "Components/Atoms/TextField",
+  component: TextField,
+  decorators: [
+    (Story) => (
+      <div className="w-full flex justify-center">
+        <div className="w-96">
+          <Story />
+        </div>
+      </div>
+    ),
+  ],
+};
+ 
+const Template = (args) => <TextField {...args} />;
+ 
+export const Primary = Template.bind({});
+Primary.args = {
+  id: "textField1",
+  name: "textField1",
+  label: "I am a text field",
+  dataTestId: "textbox-controlled",
+  placeholder: "Some placeholder text",
+};
+ 
+export const UnControlled = Template.bind({});
+UnControlled.args = {
+  id: "textField1",
+  name: "textField1",
+  label: "I am a text field",
+  placeholder: "Some placeholder text",
+  dataTestId: "textbox-uncontrolled",
+  uncontrolled: true,
+};
+ 
+export const BoldLabel = Template.bind({});
+BoldLabel.args = {
+  id: "textField1",
+  name: "textField1",
+  label: "I am a text field",
+  placeholder: "Some placeholder text",
+  dataTestId: "textbox-bold",
+  uncontrolled: true,
+  boldLabel: true,
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/atoms/index.html b/main/coverage/lcov-report/components/atoms/index.html new file mode 100644 index 0000000000..935adaa46a --- /dev/null +++ b/main/coverage/lcov-report/components/atoms/index.html @@ -0,0 +1,656 @@ + + + + + + Code coverage report for components/atoms + + + + + + + + + +
+
+

All files components/atoms

+
+ +
+ 92.26% + Statements + 334/362 +
+ + +
+ 71.96% + Branches + 154/214 +
+ + +
+ 91.89% + Functions + 34/37 +
+ + +
+ 98.63% + Lines + 289/293 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
ActionButton.js +
+
100%18/1885.1%40/47100%3/3100%18/18
ActionButton.stories.js +
+
94.44%17/18100%0/0100%0/0100%12/12
Alert.js +
+
100%5/533.33%1/3100%1/1100%5/5
Alert.stories.js +
+
83.33%5/6100%0/0100%0/0100%4/4
Banner.js +
+
100%7/7100%0/0100%1/1100%5/5
Banner.stories.js +
+
85.71%6/7100%0/0100%0/0100%5/5
Breadcrumb.js +
+
100%7/7100%2/2100%2/2100%7/7
Breadcrumb.stories.js +
+
87.5%7/8100%0/0100%0/0100%5/5
CheckBox.js +
+
100%5/576.47%13/17100%2/2100%5/5
CheckBox.stories.js +
+
81.25%13/16100%0/0100%0/0100%11/11
DSButton.js +
+
100%10/1062.85%22/35100%1/1100%10/10
DSButton.stories.js +
+
90.47%19/21100%0/0100%0/0100%14/14
DateModified.js +
+
100%10/10100%5/5100%1/1100%10/10
DateModified.stories.js +
+
83.33%5/6100%0/0100%0/0100%4/4
ErrorLabel.js +
+
100%3/3100%0/0100%1/1100%3/3
ErrorLabel.stories.js +
+
85.71%6/7100%0/0100%0/0100%5/5
HTMList.js +
+
100%7/7100%2/2100%4/4100%7/7
Image.js +
+
100%4/4100%2/2100%1/1100%4/4
Image.stories.js +
+
94.11%16/17100%0/0100%0/0100%12/12
Link.js +
+
95.23%20/2162.5%15/2450%1/295.23%20/21
Link.stories.js +
+
95.23%20/21100%0/0100%0/0100%14/14
MultiTextField.js +
+
100%7/766.66%8/12100%2/2100%7/7
MultiTextField.stories.js +
+
76.92%10/13100%0/0100%0/0100%9/9
ProjectInfo.js +
+
100%4/4100%4/4100%1/1100%4/4
ProjectInfo.stories.js +
+
83.33%5/6100%0/0100%0/0100%4/4
RadioButton.js +
+
90%9/1090.9%10/11100%3/390%9/10
RadioButton.stories.js +
+
94.73%18/19100%0/0100%0/0100%13/13
RadioField.js +
+
83.33%5/658.33%7/1266.66%2/383.33%5/6
RadioField.stories.js +
+
84.61%11/13100%0/0100%0/0100%9/9
SearchBar.js +
+
100%3/3100%0/0100%1/1100%3/3
SearchBar.stories.js +
+
83.33%5/6100%0/0100%0/0100%4/4
SelectField.js +
+
92.3%12/1355.55%10/1875%3/492.3%12/13
SelectField.stories.js +
+
85.71%6/7100%0/0100%0/0100%5/5
TableOfContents.js +
+
100%4/4100%0/0100%2/2100%4/4
TableOfContents.stories.js +
+
83.33%5/6100%0/0100%0/0100%4/4
TextField.js +
+
100%8/865%13/20100%2/2100%8/8
TextField.stories.js +
+
92.3%12/13100%0/0100%0/0100%9/9
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/fragment_renderer/FragmentRender.js.html b/main/coverage/lcov-report/components/fragment_renderer/FragmentRender.js.html new file mode 100644 index 0000000000..2e49329862 --- /dev/null +++ b/main/coverage/lcov-report/components/fragment_renderer/FragmentRender.js.html @@ -0,0 +1,685 @@ + + + + + + Code coverage report for components/fragment_renderer/FragmentRender.js + + + + + + + + + +
+
+

All files / components/fragment_renderer FragmentRender.js

+
+ +
+ 89.28% + Statements + 25/28 +
+ + +
+ 58.73% + Branches + 37/63 +
+ + +
+ 100% + Functions + 3/3 +
+ + +
+ 89.28% + Lines + 25/28 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +2013x +3x +3x +3x +3x +3x +3x +3x +  +3x +  +  +  +  +  +  +  +  +3x +16x +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +2x +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +6x +  +  +  +  +  +  +  +5x +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +10x +  +  +10x +16x +16x +  +  +16x +  +  +  +  +  +  +  +  +  +  +  +9x +  + 
import { v4 as uuid } from "uuid";
+import TextWithImage from "./fragment_components/TextWithImage";
+import TextContent from "./fragment_components/TextContent";
+import Button from "./fragment_components/Button";
+import ArticleCTA from "./fragment_components/ArticleCTA";
+import QuoteVerticalLineContent from "./fragment_components/QuoteVerticalLineContent";
+import ImageWithCollapse from "./fragment_components/ImageWithCollapse";
+import TextRender from "../text_node_renderer/TextRender";
+ 
+const FRAGMENTS = {
+  "SCLabs-Comp-Content-Image-v1": TextWithImage,
+  "SCLabs-Comp-Content-v1": QuoteVerticalLineContent,
+  "SCLabs-Content-v1": TextContent,
+  "SCLabs-Button-v1": Button,
+  "SCLabs-Feature-v1": ArticleCTA,
+  "SCLabs-Image-v1": ImageWithCollapse,
+};
+ 
+const mapFragmentsToProps = (fragmentData, fragmentName, locale) => {
+  switch (fragmentName) {
+    case "SCLabs-Feature-v1":
+      return {
+        heading:
+          locale === "en" ? fragmentData.scTitleEn : fragmentData.scTitleFr,
+        body: (
+          <TextRender
+            data={
+              locale === "en"
+                ? fragmentData.scContentEn.json
+                : fragmentData.scContentFr.json
+            }
+          />
+        ),
+        ButtonProps: {
+          id: fragmentData.scLabsButton[0].scId,
+          text:
+            locale === "en"
+              ? fragmentData.scLabsButton[0].scTitleEn
+              : fragmentData.scLabsButton[0].scTitleFr,
+          href:
+            locale === "en"
+              ? fragmentData.scLabsButton[0].scDestinationURLEn
+              : fragmentData.scLabsButton[0].scDestinationURLFr,
+        },
+      };
+ 
+    case "SCLabs-Comp-Content-Image-v1":
+      switch (fragmentData.scLabLayout) {
+        case "default":
+          return {
+            src:
+              locale === "en"
+                ? fragmentData.scLabImage.scImageEn._publishUrl
+                : fragmentData.scLabImage.scImageFr._publishUrl,
+            alt: fragmentData.scLabImage.scImageAltTextEn
+              ? locale === "en"
+                ? fragmentData.scLabImage.scImageAltTextEn
+                : fragmentData.scLabImage.scImageAltTextFr
+              : "",
+            width: fragmentData.scLabImage.scImageEn.width,
+            height: fragmentData.scLabImage.scImageEn.height,
+            data:
+              locale === "en"
+                ? fragmentData.scLabContent[0].scContentEn.json
+                : fragmentData.scLabContent[0].scContentFr.json,
+            layout: fragmentData.scLabLayout,
+          };
+        case "image-vertical-line-content":
+          return {
+            src:
+              locale === "en"
+                ? fragmentData.scLabImage.scImageEn._publishUrl
+                : fragmentData.scLabImage.scImageFr._publishUrl,
+            alt: fragmentData.scLabImage.scImageAltTextEn
+              ? locale === "en"
+                ? fragmentData.scLabImage.scImageAltTextEn
+                : fragmentData.scLabImage.scImageAltTextFr
+              : "",
+            width: fragmentData.scLabImage.scImageEn.width,
+            height: fragmentData.scLabImage.scImageEn.height,
+            data:
+              locale === "en"
+                ? fragmentData.scLabContent[0].scContentEn.json
+                : fragmentData.scLabContent[0].scContentFr.json,
+            layout: fragmentData.scLabLayout,
+            title:
+              locale === "en"
+                ? fragmentData.scLabImage.scLongDescHeadingEn
+                : fragmentData.scLabImage.scLongDescHeadingFr,
+            longDesc:
+              locale === "en"
+                ? fragmentData.scLabImage.scLongDescEn
+                : fragmentData.scLabImage.scLongDescFr,
+            children: (
+              <TextRender
+                data={
+                  locale === "en"
+                    ? fragmentData.scLabImage.scLongDescEn?.json
+                    : fragmentData.scLabImage.scLongDescFr?.json
+                }
+              />
+            ),
+          };
+        default:
+          break;
+      }
+ 
+    case "SCLabs-Comp-Content-v1":
+      return {
+        quoteText:
+          locale === "en"
+            ? fragmentData.scLabContent[0].scContentEn.json
+            : fragmentData.scLabContent[0].scContentFr.json,
+        explanationtext:
+          locale === "en"
+            ? fragmentData.scLabContent[1].scContentEn.json
+            : fragmentData.scLabContent[1].scContentFr.json,
+      };
+ 
+    case "SCLabs-Content-v1":
+      return {
+        data:
+          locale === "en"
+            ? fragmentData.scContentEn.json
+            : fragmentData.scContentFr.json,
+      };
+ 
+    case "SCLabs-Button-v1":
+      return {
+        id: fragmentData.scId,
+        buttonType: fragmentData.scButtonType[0],
+        href:
+          locale === "en"
+            ? fragmentData.scDestinationURLEn
+            : fragmentData.scDestinationURLFr,
+        text: locale === "en" ? fragmentData.scTitleEn : fragmentData.scTitleFr,
+      };
+ 
+    case "SCLabs-Image-v1":
+      return {
+        id: fragmentData.scId,
+        src:
+          locale === "en"
+            ? fragmentData.scImageEn._publishUrl
+            : fragmentData.scImageFr._publishUrl,
+        alt:
+          locale === "en"
+            ? fragmentData.scImageAltTextEn
+            : fragmentData.scImageAltTextFr,
+        width: fragmentData.scImageEn.width,
+        height: fragmentData.scImageEn.height,
+        content:
+          locale === "en"
+            ? fragmentData.scImageCaptionEn.json[0].content[0].value
+            : fragmentData.scImageCaptionFr.json[0].content[0].value,
+        title:
+          locale === "en"
+            ? fragmentData.scLongDescHeadingEn
+            : fragmentData.scLongDescHeadingFr,
+        longDesc:
+          locale === "en"
+            ? fragmentData.scLongDescEn
+            : fragmentData.scLongDescFr,
+        children: (
+          <TextRender
+            data={
+              locale === "en"
+                ? fragmentData.scLongDescEn.json
+                : fragmentData.scLongDescFr.json
+            }
+          />
+        ),
+      };
+    default:
+      break;
+  }
+};
+ 
+export default function FragmentRender(props) {
+  // Create and return array of elements corresponding to
+  // fragments
+  const pageFragments = props.fragments.map((fragmentData) => {
+    const Fragment = FRAGMENTS[fragmentData?._model.title];
+    Iif (!Fragment) {
+      return;
+    }
+    return (
+      <Fragment
+        key={uuid()}
+        {...mapFragmentsToProps(
+          fragmentData,
+          fragmentData?._model.title,
+          props.locale
+        )}
+      />
+    );
+  });
+ 
+  return pageFragments;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/fragment_renderer/FragmentRender.stories.js.html b/main/coverage/lcov-report/components/fragment_renderer/FragmentRender.stories.js.html new file mode 100644 index 0000000000..1a854ff1c9 --- /dev/null +++ b/main/coverage/lcov-report/components/fragment_renderer/FragmentRender.stories.js.html @@ -0,0 +1,4360 @@ + + + + + + Code coverage report for components/fragment_renderer/FragmentRender.stories.js + + + + + + + + + +
+
+

All files / components/fragment_renderer FragmentRender.stories.js

+
+ +
+ 96.15% + Statements + 25/26 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 18/18 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 +421 +422 +423 +424 +425 +426 +427 +428 +429 +430 +431 +432 +433 +434 +435 +436 +437 +438 +439 +440 +441 +442 +443 +444 +445 +446 +447 +448 +449 +450 +451 +452 +453 +454 +455 +456 +457 +458 +459 +460 +461 +462 +463 +464 +465 +466 +467 +468 +469 +470 +471 +472 +473 +474 +475 +476 +477 +478 +479 +480 +481 +482 +483 +484 +485 +486 +487 +488 +489 +490 +491 +492 +493 +494 +495 +496 +497 +498 +499 +500 +501 +502 +503 +504 +505 +506 +507 +508 +509 +510 +511 +512 +513 +514 +515 +516 +517 +518 +519 +520 +521 +522 +523 +524 +525 +526 +527 +528 +529 +530 +531 +532 +533 +534 +535 +536 +537 +538 +539 +540 +541 +542 +543 +544 +545 +546 +547 +548 +549 +550 +551 +552 +553 +554 +555 +556 +557 +558 +559 +560 +561 +562 +563 +564 +565 +566 +567 +568 +569 +570 +571 +572 +573 +574 +575 +576 +577 +578 +579 +580 +581 +582 +583 +584 +585 +586 +587 +588 +589 +590 +591 +592 +593 +594 +595 +596 +597 +598 +599 +600 +601 +602 +603 +604 +605 +606 +607 +608 +609 +610 +611 +612 +613 +614 +615 +616 +617 +618 +619 +620 +621 +622 +623 +624 +625 +626 +627 +628 +629 +630 +631 +632 +633 +634 +635 +636 +637 +638 +639 +640 +641 +642 +643 +644 +645 +646 +647 +648 +649 +650 +651 +652 +653 +654 +655 +656 +657 +658 +659 +660 +661 +662 +663 +664 +665 +666 +667 +668 +669 +670 +671 +672 +673 +674 +675 +676 +677 +678 +679 +680 +681 +682 +683 +684 +685 +686 +687 +688 +689 +690 +691 +692 +693 +694 +695 +696 +697 +698 +699 +700 +701 +702 +703 +704 +705 +706 +707 +708 +709 +710 +711 +712 +713 +714 +715 +716 +717 +718 +719 +720 +721 +722 +723 +724 +725 +726 +727 +728 +729 +730 +731 +732 +733 +734 +735 +736 +737 +738 +739 +740 +741 +742 +743 +744 +745 +746 +747 +748 +749 +750 +751 +752 +753 +754 +755 +756 +757 +758 +759 +760 +761 +762 +763 +764 +765 +766 +767 +768 +769 +770 +771 +772 +773 +774 +775 +776 +777 +778 +779 +780 +781 +782 +783 +784 +785 +786 +787 +788 +789 +790 +791 +792 +793 +794 +795 +796 +797 +798 +799 +800 +801 +802 +803 +804 +805 +806 +807 +808 +809 +810 +811 +812 +813 +814 +815 +816 +817 +818 +819 +820 +821 +822 +823 +824 +825 +826 +827 +828 +829 +830 +831 +832 +833 +834 +835 +836 +837 +838 +839 +840 +841 +842 +843 +844 +845 +846 +847 +848 +849 +850 +851 +852 +853 +854 +855 +856 +857 +858 +859 +860 +861 +862 +863 +864 +865 +866 +867 +868 +869 +870 +871 +872 +873 +874 +875 +876 +877 +878 +879 +880 +881 +882 +883 +884 +885 +886 +887 +888 +889 +890 +891 +892 +893 +894 +895 +896 +897 +898 +899 +900 +901 +902 +903 +904 +905 +906 +907 +908 +909 +910 +911 +912 +913 +914 +915 +916 +917 +918 +919 +920 +921 +922 +923 +924 +925 +926 +927 +928 +929 +930 +931 +932 +933 +934 +935 +936 +937 +938 +939 +940 +941 +942 +943 +944 +945 +946 +947 +948 +949 +950 +951 +952 +953 +954 +955 +956 +957 +958 +959 +960 +961 +962 +963 +964 +965 +966 +967 +968 +969 +970 +971 +972 +973 +974 +975 +976 +977 +978 +979 +980 +981 +982 +983 +984 +985 +986 +987 +988 +989 +990 +991 +992 +993 +994 +995 +996 +997 +998 +999 +1000 +1001 +1002 +1003 +1004 +1005 +1006 +1007 +1008 +1009 +1010 +1011 +1012 +1013 +1014 +1015 +1016 +1017 +1018 +1019 +1020 +1021 +1022 +1023 +1024 +1025 +1026 +1027 +1028 +1029 +1030 +1031 +1032 +1033 +1034 +1035 +1036 +1037 +1038 +1039 +1040 +1041 +1042 +1043 +1044 +1045 +1046 +1047 +1048 +1049 +1050 +1051 +1052 +1053 +1054 +1055 +1056 +1057 +1058 +1059 +1060 +1061 +1062 +1063 +1064 +1065 +1066 +1067 +1068 +1069 +1070 +1071 +1072 +1073 +1074 +1075 +1076 +1077 +1078 +1079 +1080 +1081 +1082 +1083 +1084 +1085 +1086 +1087 +1088 +1089 +1090 +1091 +1092 +1093 +1094 +1095 +1096 +1097 +1098 +1099 +1100 +1101 +1102 +1103 +1104 +1105 +1106 +1107 +1108 +1109 +1110 +1111 +1112 +1113 +1114 +1115 +1116 +1117 +1118 +1119 +1120 +1121 +1122 +1123 +1124 +1125 +1126 +1127 +1128 +1129 +1130 +1131 +1132 +1133 +1134 +1135 +1136 +1137 +1138 +1139 +1140 +1141 +1142 +1143 +1144 +1145 +1146 +1147 +1148 +1149 +1150 +1151 +1152 +1153 +1154 +1155 +1156 +1157 +1158 +1159 +1160 +1161 +1162 +1163 +1164 +1165 +1166 +1167 +1168 +1169 +1170 +1171 +1172 +1173 +1174 +1175 +1176 +1177 +1178 +1179 +1180 +1181 +1182 +1183 +1184 +1185 +1186 +1187 +1188 +1189 +1190 +1191 +1192 +1193 +1194 +1195 +1196 +1197 +1198 +1199 +1200 +1201 +1202 +1203 +1204 +1205 +1206 +1207 +1208 +1209 +1210 +1211 +1212 +1213 +1214 +1215 +1216 +1217 +1218 +1219 +1220 +1221 +1222 +1223 +1224 +1225 +1226 +1227 +1228 +1229 +1230 +1231 +1232 +1233 +1234 +1235 +1236 +1237 +1238 +1239 +1240 +1241 +1242 +1243 +1244 +1245 +1246 +1247 +1248 +1249 +1250 +1251 +1252 +1253 +1254 +1255 +1256 +1257 +1258 +1259 +1260 +1261 +1262 +1263 +1264 +1265 +1266 +1267 +1268 +1269 +1270 +1271 +1272 +1273 +1274 +1275 +1276 +1277 +1278 +1279 +1280 +1281 +1282 +1283 +1284 +1285 +1286 +1287 +1288 +1289 +1290 +1291 +1292 +1293 +1294 +1295 +1296 +1297 +1298 +1299 +1300 +1301 +1302 +1303 +1304 +1305 +1306 +1307 +1308 +1309 +1310 +1311 +1312 +1313 +1314 +1315 +1316 +1317 +1318 +1319 +1320 +1321 +1322 +1323 +1324 +1325 +1326 +1327 +1328 +1329 +1330 +1331 +1332 +1333 +1334 +1335 +1336 +1337 +1338 +1339 +1340 +1341 +1342 +1343 +1344 +1345 +1346 +1347 +1348 +1349 +1350 +1351 +1352 +1353 +1354 +1355 +1356 +1357 +1358 +1359 +1360 +1361 +1362 +1363 +1364 +1365 +1366 +1367 +1368 +1369 +1370 +1371 +1372 +1373 +1374 +1375 +1376 +1377 +1378 +1379 +1380 +1381 +1382 +1383 +1384 +1385 +1386 +1387 +1388 +1389 +1390 +1391 +1392 +1393 +1394 +1395 +1396 +1397 +1398 +1399 +1400 +1401 +1402 +1403 +1404 +1405 +1406 +1407 +1408 +1409 +1410 +1411 +1412 +1413 +1414 +1415 +1416 +1417 +1418 +1419 +1420 +1421 +1422 +1423 +1424 +1425 +14261x +1x +1x +  +1x +  +  +  +  +  +  +  +1x +1x +1x +1x +1x +1x +1x +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import * as React from "react";
+import FragmentRender from "./FragmentRender";
+import { CollapseData } from "../../__mocks__/mockStore";
+ 
+export default {
+  title: "Components/Fragment_Renderer/FragmentRender",
+  component: FragmentRender,
+  locale: "en",
+};
+ 
+const Template = (args) => <FragmentRender {...args} />;
+ 
+export const ArticleCTA = Template.bind({});
+export const TextWithImage = Template.bind({});
+export const TextWithImageCollapse = Template.bind({});
+export const QuoteVerticalLineContent = Template.bind({});
+export const TextContent = Template.bind({});
+export const Button = Template.bind({});
+export const ImageWithCollapse = Template.bind({});
+ 
+ArticleCTA.args = {
+  locale: "en",
+  fragments: [
+    {
+      _model: {
+        title: "SCLabs-Feature-v1",
+      },
+      scId: "INFORMATION-ALPHA-SCLABS",
+      scTitleEn: "Information",
+      scTitleFr: "Information",
+      scContentEn: {
+        json: [
+          {
+            nodeType: "paragraph",
+            content: [
+              {
+                nodeType: "text",
+                value: "Alpha:",
+                format: {
+                  variants: ["strong"],
+                },
+              },
+              {
+                nodeType: "text",
+                value:
+                  " Building a draft tool or service and testing it to see if it meets needs.",
+              },
+            ],
+          },
+        ],
+      },
+      scContentFr: {
+        json: [
+          {
+            nodeType: "paragraph",
+            content: [
+              {
+                nodeType: "text",
+                value: "Alpha : ",
+                format: {
+                  variants: ["strong"],
+                },
+              },
+              {
+                nodeType: "text",
+                value:
+                  "Construire une première version d’un outil ou d’un service et le tester pour savoir s’il répond aux besoins.",
+              },
+            ],
+          },
+        ],
+      },
+      scLabsButton: [
+        {
+          scId: "GIVE-FEEDBACK-OAS-ESTIMATOR",
+          scTitleEn: "Give feedback",
+          scTitleFr: "Fournir des commentaires",
+          scDestinationURLEn:
+            "https://srv217.services.gc.ca/ihst4/Intro.aspx?cid=74938e05-8e91-42a9-8e9d-29daf79f6fe0&lc=eng",
+          scDestinationURLFr:
+            "https://srv217.services.gc.ca/ihst4/Intro.aspx?cid=74938e05-8e91-42a9-8e9d-29daf79f6fe0&lc=fra",
+          scButtonType: ["gc:custom/decd-endc/button-type/secondary"],
+        },
+      ],
+    },
+  ],
+};
+ 
+TextWithImage.args = {
+  locale: "en",
+  fragments: [
+    {
+      _model: {
+        title: "SCLabs-Comp-Content-Image-v1",
+      },
+      scId: "NAVIGATOR-DIFFICULTIES-MAIN",
+      scLabContent: [
+        {
+          scId: "DIFFICULTIES-COMMUNITY-WORKERS",
+          scContentEn: {
+            json: [
+              {
+                nodeType: "header",
+                style: "h1",
+                content: [
+                  {
+                    nodeType: "text",
+                    value:
+                      "Difficulties faced by community workers who help people with their benefits",
+                  },
+                ],
+              },
+              {
+                nodeType: "paragraph",
+                content: [
+                  {
+                    nodeType: "text",
+                    value:
+                      "Government benefits are designed to improve the lives of Canadians. Many benefits help people based on their health, job, housing, or family situation.",
+                  },
+                  {
+                    nodeType: "line-break",
+                    content: [],
+                  },
+                ],
+              },
+              {
+                nodeType: "paragraph",
+                content: [
+                  {
+                    nodeType: "text",
+                    value:
+                      "According to the 2022 Auditor General’s report, accessing these benefits can be hard for many reasons (see ",
+                  },
+                  {
+                    nodeType: "link",
+                    data: {
+                      href: "https://www.oag-bvg.gc.ca/internet/English/parl_oag_202205_01_e_44033.html",
+                    },
+                    value: "Access to Benefits for Hard-to-Reach Populations",
+                  },
+                  {
+                    nodeType: "text",
+                    value: ").",
+                  },
+                  {
+                    nodeType: "line-break",
+                    content: [],
+                  },
+                ],
+              },
+              {
+                nodeType: "paragraph",
+                content: [
+                  {
+                    nodeType: "text",
+                    value:
+                      "The report lists a few of those reasons. It also lists some options available to those who need help with applying.",
+                  },
+                  {
+                    nodeType: "line-break",
+                    content: [],
+                  },
+                ],
+              },
+              {
+                nodeType: "paragraph",
+                content: [
+                  {
+                    nodeType: "text",
+                    value:
+                      "The report says that people often rely on community organizations to learn about the help they could receive. We saw a similar trend in other research reports. From that, we concluded that community workers play an important role in helping people get government benefits. So, we decided to learn more about the problems that they face when they carry out this task.",
+                  },
+                ],
+              },
+              {
+                nodeType: "paragraph",
+                content: [
+                  {
+                    nodeType: "text",
+                    value:
+                      "Here are some problems that we identified from our own research studies and other reports.",
+                  },
+                ],
+              },
+              {
+                nodeType: "header",
+                style: "h2",
+                content: [
+                  {
+                    nodeType: "text",
+                    value: "It takes time to learn about government benefits",
+                  },
+                ],
+              },
+              {
+                nodeType: "paragraph",
+                content: [
+                  {
+                    nodeType: "text",
+                    value:
+                      "We talked to several community workers who said it takes a lot of time and effort to become familiar with government benefits. This is because there are so many of them, they come from different sources, and they have different eligibility criteria.",
+                  },
+                ],
+              },
+              {
+                nodeType: "paragraph",
+                content: [
+                  {
+                    nodeType: "text",
+                    value:
+                      "They also said it’s hard to understand information on government websites. This was also mentioned in the reports we read.",
+                  },
+                ],
+              },
+              {
+                nodeType: "header",
+                style: "h2",
+                content: [
+                  {
+                    nodeType: "text",
+                    value: "It's hard to stay updated on news about benefits",
+                  },
+                ],
+              },
+              {
+                nodeType: "paragraph",
+                content: [
+                  {
+                    nodeType: "text",
+                    value:
+                      "From our research, we learned that community workers try to stay updated on news about benefits, but don’t have a good way to do so.",
+                  },
+                ],
+              },
+              {
+                nodeType: "paragraph",
+                content: [
+                  {
+                    nodeType: "text",
+                    value:
+                      "There isn’t one location that a person can go to see all the updates. Instead, the workers we talked to said that they made their own solutions. Some created news alerts, others subscribed to newsletters. Despite that, they were sure that they were missing some updates.",
+                  },
+                ],
+              },
+              {
+                nodeType: "header",
+                style: "h2",
+                content: [
+                  {
+                    nodeType: "text",
+                    value:
+                      "It's hard to understand eligibility conditions and the application process",
+                  },
+                ],
+              },
+              {
+                nodeType: "paragraph",
+                content: [
+                  {
+                    nodeType: "text",
+                    value:
+                      "The reports we read said that it’s difficult to apply for benefits because applications are long and ask for a lot of information.",
+                  },
+                ],
+              },
+              {
+                nodeType: "paragraph",
+                content: [
+                  {
+                    nodeType: "text",
+                    value:
+                      "The workers we talked to said that it’s hard to know which forms people need and where to find them.",
+                  },
+                ],
+              },
+              {
+                nodeType: "paragraph",
+                content: [
+                  {
+                    nodeType: "text",
+                    value:
+                      "Complicated eligibility criteria make it hard to know if someone qualifies for a benefit. This can stop people from starting a long application process. Most don’t want to spend the effort if they don’t think they qualify.",
+                  },
+                ],
+              },
+              {
+                nodeType: "header",
+                style: "h2",
+                content: [
+                  {
+                    nodeType: "text",
+                    value:
+                      "We want to make it easier to understand government benefits",
+                  },
+                  {
+                    nodeType: "line-break",
+                    content: [],
+                  },
+                ],
+              },
+              {
+                nodeType: "paragraph",
+                content: [
+                  {
+                    nodeType: "text",
+                    value:
+                      "To fix the problems identified in our research, we want to make a tool that simplifies information about government benefits.",
+                  },
+                  {
+                    nodeType: "line-break",
+                    content: [],
+                  },
+                ],
+              },
+              {
+                nodeType: "paragraph",
+                content: [
+                  {
+                    nodeType: "text",
+                    value: "This tool will make it easier for anyone to:",
+                  },
+                  {
+                    nodeType: "line-break",
+                    content: [],
+                  },
+                ],
+              },
+              {
+                nodeType: "unordered-list",
+                content: [
+                  {
+                    nodeType: "list-item",
+                    content: [
+                      {
+                        nodeType: "text",
+                        value: "be aware of benefits ",
+                      },
+                    ],
+                  },
+                  {
+                    nodeType: "list-item",
+                    content: [
+                      {
+                        nodeType: "text",
+                        value: "know how to apply ",
+                      },
+                    ],
+                  },
+                  {
+                    nodeType: "list-item",
+                    content: [
+                      {
+                        nodeType: "text",
+                        value: "stay updated on changes ",
+                      },
+                    ],
+                  },
+                ],
+              },
+              {
+                nodeType: "paragraph",
+                content: [
+                  {
+                    nodeType: "text",
+                    value:
+                      "By making this information easier to understand, we believe more people will apply for the benefits to which they are entitled.",
+                  },
+                  {
+                    nodeType: "line-break",
+                    content: [],
+                  },
+                ],
+              },
+            ],
+          },
+          scContentFr: {
+            json: [
+              {
+                nodeType: "header",
+                style: "h1",
+                content: [
+                  {
+                    nodeType: "text",
+                    value:
+                      "Difficultés rencontrées par les travailleuses et travailleurs communautaires qui aident les gens avec leurs prestations",
+                  },
+                ],
+              },
+              {
+                nodeType: "paragraph",
+                content: [
+                  {
+                    nodeType: "text",
+                    value:
+                      "Les prestations du gouvernement sont conçues pour améliorer la vie des gens. Plusieurs prestations aident les personnes selon leur état de santé, leur emploi, leur logement ou leur situation familiale.",
+                  },
+                ],
+              },
+              {
+                nodeType: "paragraph",
+                content: [
+                  {
+                    nodeType: "text",
+                    value:
+                      "Selon le rapport de la vérificatrice générale de 2022, l’accès aux prestations peut être difficile pour de nombreuses raisons (voir ",
+                  },
+                  {
+                    nodeType: "link",
+                    data: {
+                      href: "https://www.oag-bvg.gc.ca/internet/Francais/parl_oag_202205_01_f_44033.html",
+                    },
+                    value:
+                      "L’accès aux prestations pour les populations difficiles à joindre",
+                  },
+                  {
+                    nodeType: "text",
+                    value: ").",
+                  },
+                  {
+                    nodeType: "line-break",
+                    content: [],
+                  },
+                ],
+              },
+              {
+                nodeType: "paragraph",
+                content: [
+                  {
+                    nodeType: "text",
+                    value:
+                      "Le rapport énumère quelques-unes de ces raisons. Il énumère aussi des options disponibles pour les gens qui ont besoin d’aide pour faire la demande de prestations.",
+                  },
+                  {
+                    nodeType: "line-break",
+                    content: [],
+                  },
+                ],
+              },
+              {
+                nodeType: "paragraph",
+                content: [
+                  {
+                    nodeType: "text",
+                    value:
+                      "Le rapport explique que les gens ont souvent recours aux organismes communautaires pour en savoir plus sur l'aide qu’ils pourraient recevoir. Nous avons constaté une tendance similaire dans d’autres projets de recherche. Nous en avons conclu que les travailleuses et travailleurs communautaires jouent un rôle important en aidant les gens à obtenir des prestations gouvernementales. Nous avons donc décidé d’en savoir plus sur les obstacles rencontrés lorsqu’ils accomplissent cette tâche.",
+                  },
+                ],
+              },
+              {
+                nodeType: "paragraph",
+                content: [
+                  {
+                    nodeType: "text",
+                    value:
+                      "Voici quelques problèmes que nous avons identifiés dans nos recherches et d’autres rapports. ",
+                  },
+                ],
+              },
+              {
+                nodeType: "header",
+                style: "h2",
+                content: [
+                  {
+                    nodeType: "text",
+                    value:
+                      "Il faut du temps pour se renseigner sur les prestations",
+                  },
+                  {
+                    nodeType: "line-break",
+                    content: [],
+                  },
+                ],
+              },
+              {
+                nodeType: "paragraph",
+                content: [
+                  {
+                    nodeType: "text",
+                    value:
+                      "Nous avons parlé à plusieurs travailleuses et travailleurs communautaires qui ont dit qu’il faut beaucoup de temps et d’efforts pour se familiariser avec les prestations gouvernementales. La raison est qu’elles sont très nombreuses, proviennent de sources différentes et ont des critères d’admissibilité différents.",
+                  },
+                ],
+              },
+              {
+                nodeType: "paragraph",
+                content: [
+                  {
+                    nodeType: "text",
+                    value:
+                      "Ils nous ont aussi dit qu’il est difficile de comprendre l’information sur les sites Web du gouvernement. C'est également ce qui ressort des rapports que nous avons lus.",
+                  },
+                ],
+              },
+              {
+                nodeType: "header",
+                style: "h2",
+                content: [
+                  {
+                    nodeType: "text",
+                    value:
+                      "Il est difficile de se tenir au courant des nouveautés à propos des prestations",
+                  },
+                ],
+              },
+              {
+                nodeType: "paragraph",
+                content: [
+                  {
+                    nodeType: "text",
+                    value:
+                      "Nos recherches nous ont appris que les travailleuses et travailleurs communautaires essaient de se tenir au courant des nouvelles concernant les prestations, mais n'ont pas de bon moyen de le faire.",
+                  },
+                  {
+                    nodeType: "line-break",
+                    content: [],
+                  },
+                ],
+              },
+              {
+                nodeType: "paragraph",
+                content: [
+                  {
+                    nodeType: "text",
+                    value:
+                      "Il n'existe pas d'endroit où l'on peut consulter toutes les mises à jour. Au lieu de cela, les travailleuses et travailleurs auxquels nous avons parlé ont dit qu'ils avaient trouvé leurs propres solutions. Certaines personnes ont créé des alertes, d’autres se sont abonnées à des bulletins d'information. Malgré cela, elles étaient sûres que des mises à jour leur échappaient.",
+                  },
+                ],
+              },
+              {
+                nodeType: "header",
+                style: "h2",
+                content: [
+                  {
+                    nodeType: "text",
+                    value:
+                      "Il est difficile de comprendre les conditions d'admissibilité et la procédure de demande",
+                  },
+                ],
+              },
+              {
+                nodeType: "paragraph",
+                content: [
+                  {
+                    nodeType: "text",
+                    value:
+                      "Les rapports que nous avons lus indiquent qu'il est difficile de demander des prestations parce que les formulaires sont longs et exigent beaucoup d'informations.",
+                  },
+                ],
+              },
+              {
+                nodeType: "paragraph",
+                content: [
+                  {
+                    nodeType: "text",
+                    value:
+                      "Les travailleuses et travailleurs auxquels nous avons parlé ont dit qu'il était difficile de savoir de quels formulaires les gens avaient besoin et où les trouver.",
+                  },
+                ],
+              },
+              {
+                nodeType: "paragraph",
+                content: [
+                  {
+                    nodeType: "text",
+                    value:
+                      "La complexité des critères d'admissibilité fait qu'il est difficile de savoir si une personne a droit à une prestation. Cela peut empêcher les gens d'entamer une longue procédure de demande. La plupart ne veulent pas faire cet effort s'ils pensent qu'ils n'ont pas droit à une prestation. ",
+                  },
+                ],
+              },
+              {
+                nodeType: "header",
+                style: "h2",
+                content: [
+                  {
+                    nodeType: "text",
+                    value:
+                      "Nous voulons faciliter la compréhension des prestations gouvernementales ",
+                  },
+                ],
+              },
+              {
+                nodeType: "paragraph",
+                content: [
+                  {
+                    nodeType: "text",
+                    value:
+                      "Pour résoudre les problèmes identifiés dans nos recherches, nous voulons créer un outil qui simplifie l'information sur les prestations gouvernementales. ",
+                  },
+                ],
+              },
+              {
+                nodeType: "paragraph",
+                content: [
+                  {
+                    nodeType: "text",
+                    value: "Cet outil permettra de mieux :",
+                  },
+                ],
+              },
+              {
+                nodeType: "unordered-list",
+                content: [
+                  {
+                    nodeType: "list-item",
+                    content: [
+                      {
+                        nodeType: "text",
+                        value: "connaître les prestations;",
+                      },
+                    ],
+                  },
+                  {
+                    nodeType: "list-item",
+                    content: [
+                      {
+                        nodeType: "text",
+                        value: "savoir comment présenter une demande;",
+                      },
+                    ],
+                  },
+                  {
+                    nodeType: "list-item",
+                    content: [
+                      {
+                        nodeType: "text",
+                        value: "rester au courant des changements.",
+                      },
+                    ],
+                  },
+                ],
+              },
+              {
+                nodeType: "paragraph",
+                content: [
+                  {
+                    nodeType: "text",
+                    value:
+                      "En rendant ces informations plus faciles à comprendre, nous pensons que plus de personnes demanderont les prestations auxquelles elles ont droit. ",
+                  },
+                  {
+                    nodeType: "line-break",
+                    content: [],
+                  },
+                ],
+              },
+            ],
+          },
+        },
+      ],
+      scLabImage: {
+        scId: "COMMUNITY-WORKERS-IMAGE",
+        scImageEn: {
+          _publishUrl:
+            "https://www.canada.ca/content/dam/decd-endc/images/sclabs/benefits-navigator/community-workers.jpg",
+          width: 555,
+          height: 321,
+        },
+        scImageFr: {
+          _publishUrl:
+            "https://www.canada.ca/content/dam/decd-endc/images/sclabs/benefits-navigator/community-workers.jpg",
+          width: 555,
+          height: 321,
+        },
+        scImageMobileEn: null,
+        scImageMobileFr: null,
+        scImageAltTextEn: "Community workers helping people",
+        scImageAltTextFr:
+          "Travailleuses et travailleurs communautaires qui aident des gens",
+        scImageCaptionEn: {
+          json: null,
+        },
+        scImageCaptionFr: {
+          json: null,
+        },
+      },
+      scLabLayout: "default",
+    },
+  ],
+};
+ 
+TextWithImageCollapse.args = {
+  locale: "en",
+  fragments: [
+    {
+      _model: {
+        title: "SCLabs-Comp-Content-Image-v1",
+      },
+      scId: "NAVIGATOR-DIFFICULTIES-MAIN",
+      scLabContent: [
+        {
+          scId: "FEATURE-DASHBOARD",
+          scContentEn: {
+            json: [
+              {
+                nodeType: "header",
+                style: "h3",
+                content: [
+                  {
+                    nodeType: "text",
+                    value: "Information is clearly presented ",
+                  },
+                ],
+              },
+              {
+                nodeType: "paragraph",
+                content: [
+                  {
+                    nodeType: "text",
+                    value: "On the dashboard, you will find: ",
+                  },
+                ],
+              },
+              {
+                nodeType: "unordered-list",
+                content: [
+                  {
+                    nodeType: "list-item",
+                    content: [
+                      {
+                        nodeType: "text",
+                        value: "all your benefits on the same page ",
+                      },
+                    ],
+                  },
+                  {
+                    nodeType: "list-item",
+                    content: [
+                      {
+                        nodeType: "text",
+                        value:
+                          "a menu to access your personal information and security settings",
+                      },
+                    ],
+                  },
+                ],
+              },
+            ],
+          },
+          scContentFr: {
+            json: [
+              {
+                nodeType: "header",
+                style: "h3",
+                content: [
+                  {
+                    nodeType: "text",
+                    value: "Information clairement présentée",
+                  },
+                  {
+                    nodeType: "line-break",
+                    content: [],
+                  },
+                ],
+              },
+              {
+                nodeType: "paragraph",
+                content: [
+                  {
+                    nodeType: "text",
+                    value: "Sur le tableau de bord, vous trouverez :",
+                  },
+                ],
+              },
+              {
+                nodeType: "unordered-list",
+                content: [
+                  {
+                    nodeType: "list-item",
+                    content: [
+                      {
+                        nodeType: "text",
+                        value: "toutes vos prestations sur la même page;",
+                      },
+                    ],
+                  },
+                  {
+                    nodeType: "list-item",
+                    content: [
+                      {
+                        nodeType: "text",
+                        value:
+                          "un menu pour accéder à vos informations personnelles et à vos paramètres de sécurité.",
+                      },
+                    ],
+                  },
+                ],
+              },
+            ],
+          },
+          scFragments: [
+            {
+              scId: "FEATURE-DASHBOARD",
+              scImageEn: {
+                _publishUrl:
+                  "https://www.canada.ca/content/dam/decd-endc/images/sclabs/client-hub/feature-dashboard-en.png",
+                width: 759,
+                height: 498,
+              },
+              scImageFr: {
+                _publishUrl:
+                  "https://www.canada.ca/content/dam/decd-endc/images/sclabs/client-hub/feature-dashboard-fr.png",
+                width: 758,
+                height: 498,
+              },
+              scImageMobileEn: null,
+              scImageMobileFr: null,
+              scImageAltTextEn:
+                "My dashboard page from My Service Canada Account",
+              scImageAltTextFr:
+                "Page Mon tableau de bord de Mon dossier Service Canada",
+              scImageCaptionEn: {
+                json: null,
+              },
+              scImageCaptionFr: {
+                json: null,
+              },
+              scLongDescHeadingEn: "Text version of the image My dashboard",
+              scLongDescHeadingFr:
+                "Version textuelle de l’image Mon tableau de bord",
+              scLongDescEn: {
+                json: [
+                  {
+                    nodeType: "paragraph",
+                    content: [
+                      {
+                        nodeType: "text",
+                        value: "The dashboard page includes: ",
+                      },
+                    ],
+                  },
+                  {
+                    nodeType: "unordered-list",
+                    content: [
+                      {
+                        nodeType: "list-item",
+                        content: [
+                          {
+                            nodeType: "text",
+                            value: "a heading with: ",
+                          },
+                          {
+                            nodeType: "unordered-list",
+                            content: [
+                              {
+                                nodeType: "list-item",
+                                content: [
+                                  {
+                                    nodeType: "text",
+                                    value:
+                                      "the name of the site: My Service Canada Account ",
+                                  },
+                                ],
+                              },
+                              {
+                                nodeType: "list-item",
+                                content: [
+                                  {
+                                    nodeType: "text",
+                                    value: "an “Account” menu ",
+                                  },
+                                ],
+                              },
+                            ],
+                          },
+                        ],
+                      },
+                      {
+                        nodeType: "list-item",
+                        content: [
+                          {
+                            nodeType: "text",
+                            value: "benefits, such as: ",
+                          },
+                          {
+                            nodeType: "unordered-list",
+                            content: [
+                              {
+                                nodeType: "list-item",
+                                content: [
+                                  {
+                                    nodeType: "text",
+                                    value:
+                                      "Employment Insurance, with a link to applications, payments and claims, taxes, reports and documents, personal information ",
+                                  },
+                                  {
+                                    nodeType: "line-break",
+                                    content: [],
+                                  },
+                                ],
+                              },
+                              {
+                                nodeType: "list-item",
+                                content: [
+                                  {
+                                    nodeType: "text",
+                                    value:
+                                      "Canada Pension Plan, with a link to applications, payments, taxes, documents, provisions, personal information ",
+                                  },
+                                  {
+                                    nodeType: "line-break",
+                                    content: [],
+                                  },
+                                ],
+                              },
+                            ],
+                          },
+                        ],
+                      },
+                    ],
+                  },
+                ],
+              },
+              scLongDescFr: {
+                json: [
+                  {
+                    nodeType: "paragraph",
+                    content: [
+                      {
+                        nodeType: "text",
+                        value:
+                          "Le tableau de bord contient les éléments suivants : ",
+                      },
+                    ],
+                  },
+                  {
+                    nodeType: "unordered-list",
+                    content: [
+                      {
+                        nodeType: "list-item",
+                        content: [
+                          {
+                            nodeType: "text",
+                            value: "un en-tête avec : ",
+                          },
+                          {
+                            nodeType: "unordered-list",
+                            content: [
+                              {
+                                nodeType: "list-item",
+                                content: [
+                                  {
+                                    nodeType: "text",
+                                    value:
+                                      "le nom du site : Mon dossier Service Canada; ",
+                                  },
+                                ],
+                              },
+                              {
+                                nodeType: "list-item",
+                                content: [
+                                  {
+                                    nodeType: "text",
+                                    value: "un menu « Compte »; ",
+                                  },
+                                ],
+                              },
+                            ],
+                          },
+                        ],
+                      },
+                      {
+                        nodeType: "list-item",
+                        content: [
+                          {
+                            nodeType: "text",
+                            value: "des prestations, telles que : ",
+                          },
+                          {
+                            nodeType: "unordered-list",
+                            content: [
+                              {
+                                nodeType: "list-item",
+                                content: [
+                                  {
+                                    nodeType: "text",
+                                    value:
+                                      "Assurance-emploi, avec un lien vers les demandes de prestations, paiements et demandes, impôts, rapports et documents, renseignements personnels; ",
+                                  },
+                                ],
+                              },
+                              {
+                                nodeType: "list-item",
+                                content: [
+                                  {
+                                    nodeType: "text",
+                                    value:
+                                      "Régime de pensions du Canada, avec un lien vers les demandes de prestations, paiements, impôts, documents, clauses, renseignements personnels.",
+                                  },
+                                ],
+                              },
+                            ],
+                          },
+                        ],
+                      },
+                    ],
+                  },
+                ],
+              },
+            },
+          ],
+        },
+      ],
+      scLabImage: {
+        scImageEn: {
+          _publishUrl:
+            "https://www.canada.ca/content/dam/decd-endc/images/sclabs/client-hub/feature-dashboard-en.png",
+          width: 759,
+          height: 498,
+        },
+        scImageFr: {
+          _publishUrl:
+            "https://www.canada.ca/content/dam/decd-endc/images/sclabs/client-hub/feature-dashboard-fr.png",
+          width: 758,
+          height: 498,
+        },
+        scImageMobileEn: null,
+        scImageMobileFr: null,
+        scImageAltTextEn: "My dashboard page from My Service Canada Account",
+        scImageAltTextFr:
+          "Page Mon tableau de bord de Mon dossier Service Canada",
+        scImageCaptionEn: {
+          json: null,
+        },
+        scImageCaptionFr: {
+          json: null,
+        },
+        scLongDescHeadingEn: "Text version of the image My dashboard",
+        scLongDescHeadingFr: "Version textuelle de l’image Mon tableau de bord",
+        scLongDescEn: {
+          json: [
+            {
+              nodeType: "paragraph",
+              content: [
+                {
+                  nodeType: "text",
+                  value: "The dashboard page includes: ",
+                },
+              ],
+            },
+            {
+              nodeType: "unordered-list",
+              content: [
+                {
+                  nodeType: "list-item",
+                  content: [
+                    {
+                      nodeType: "text",
+                      value: "a heading with: ",
+                    },
+                    {
+                      nodeType: "unordered-list",
+                      content: [
+                        {
+                          nodeType: "list-item",
+                          content: [
+                            {
+                              nodeType: "text",
+                              value:
+                                "the name of the site: My Service Canada Account",
+                            },
+                          ],
+                        },
+                        {
+                          nodeType: "list-item",
+                          content: [
+                            {
+                              nodeType: "text",
+                              value: "an “Account” menu",
+                            },
+                          ],
+                        },
+                      ],
+                    },
+                  ],
+                },
+                {
+                  nodeType: "list-item",
+                  content: [
+                    {
+                      nodeType: "text",
+                      value: "benefits, such as: ",
+                    },
+                    {
+                      nodeType: "unordered-list",
+                      content: [
+                        {
+                          nodeType: "list-item",
+                          content: [
+                            {
+                              nodeType: "text",
+                              value:
+                                "Employment Insurance, with a link to applications, payments and claims, taxes, reports and documents, personal information",
+                            },
+                            {
+                              nodeType: "line-break",
+                              content: [],
+                            },
+                          ],
+                        },
+                        {
+                          nodeType: "list-item",
+                          content: [
+                            {
+                              nodeType: "text",
+                              value:
+                                "Canada Pension Plan, with a link to applications, payments, taxes, documents, provisions, personal information",
+                            },
+                          ],
+                        },
+                      ],
+                    },
+                  ],
+                },
+              ],
+            },
+          ],
+        },
+        scLongDescFr: {
+          json: [
+            {
+              nodeType: "paragraph",
+              content: [
+                {
+                  nodeType: "text",
+                  value: "Le tableau de bord contient les éléments suivants : ",
+                },
+              ],
+            },
+            {
+              nodeType: "unordered-list",
+              content: [
+                {
+                  nodeType: "list-item",
+                  content: [
+                    {
+                      nodeType: "text",
+                      value: "un en-tête avec : ",
+                    },
+                    {
+                      nodeType: "unordered-list",
+                      content: [
+                        {
+                          nodeType: "list-item",
+                          content: [
+                            {
+                              nodeType: "text",
+                              value:
+                                "le nom du site : Mon dossier Service Canada; ",
+                            },
+                          ],
+                        },
+                        {
+                          nodeType: "list-item",
+                          content: [
+                            {
+                              nodeType: "text",
+                              value: "un menu « Compte »; ",
+                            },
+                          ],
+                        },
+                      ],
+                    },
+                  ],
+                },
+                {
+                  nodeType: "list-item",
+                  content: [
+                    {
+                      nodeType: "text",
+                      value: "des prestations, telles que : ",
+                    },
+                    {
+                      nodeType: "unordered-list",
+                      content: [
+                        {
+                          nodeType: "list-item",
+                          content: [
+                            {
+                              nodeType: "text",
+                              value:
+                                "Assurance-emploi, avec un lien vers les demandes de prestations, paiements et demandes, impôts, rapports et documents, renseignements personnels; ",
+                            },
+                          ],
+                        },
+                        {
+                          nodeType: "list-item",
+                          content: [
+                            {
+                              nodeType: "text",
+                              value:
+                                "Régime de pensions du Canada, avec un lien vers les demandes de prestations, paiements, impôts, documents, clauses, renseignements personnels.",
+                            },
+                          ],
+                        },
+                      ],
+                    },
+                  ],
+                },
+              ],
+            },
+          ],
+        },
+      },
+      scLabLayout: "image-vertical-line-content",
+      scLongDescHeadingEn: CollapseData.scLongDescHeadingEn,
+      scLongDescHeadingFr: CollapseData.scLongDescHeadingFr,
+      scLongDescEn: CollapseData.scLongDescEn,
+      scLongDescFr: CollapseData.scLongDescFr,
+    },
+  ],
+};
+ 
+TextContent.args = {
+  locale: "en",
+  fragments: [
+    {
+      _model: {
+        title: "SCLabs-Content-v1",
+      },
+      _path:
+        "/content/dam/decd-endc/content-fragments/sclabs/components/tooltips/information-alpha",
+      scId: "INFORMATION-ALPHA-SCLABS",
+      scTitleEn: "Information",
+      scTitleFr: "Information",
+      scContentEn: {
+        json: [
+          {
+            nodeType: "paragraph",
+            content: [
+              {
+                nodeType: "text",
+                value: "Alpha:",
+                format: {
+                  variants: ["strong"],
+                },
+              },
+              {
+                nodeType: "text",
+                value:
+                  " Building a draft tool or service and testing it to see if it meets needs.",
+              },
+            ],
+          },
+        ],
+      },
+      scContentFr: {
+        json: [
+          {
+            nodeType: "paragraph",
+            content: [
+              {
+                nodeType: "text",
+                value: "Alpha : ",
+                format: {
+                  variants: ["strong"],
+                },
+              },
+              {
+                nodeType: "text",
+                value:
+                  "Construire une première version d’un outil ou d’un service et le tester pour savoir s’il répond aux besoins.",
+              },
+            ],
+          },
+        ],
+      },
+    },
+  ],
+};
+ 
+ImageWithCollapse.args = {
+  locale: "en",
+  fragments: [
+    {
+      _model: {
+        title: "SCLabs-Image-v1",
+      },
+      scId: "NEWS-IMAGE",
+      scImageEn: {
+        _publishUrl: CollapseData.scImageEn._publishUrl,
+        width: CollapseData.scImageEn.width,
+        height: CollapseData.scImageEn.height,
+      },
+      scImageFr: {
+        _publishUrl:
+          "https://www.canada.ca/content/dam/decd-endc/images/sclabs/benefits-navigator/news-fr.png",
+        width: 1363,
+        height: 890,
+      },
+      scImageMobileEn: null,
+      scImageMobileFr: null,
+      scImageAltTextEn: "Benefit news and updates page",
+      scImageAltTextFr: "Page Nouvelles et mises à jour sur les prestations",
+      scImageCaptionEn: {
+        json: [
+          {
+            nodeType: "paragraph",
+            content: [
+              {
+                nodeType: "text",
+                value: "Figure 1",
+              },
+            ],
+          },
+        ],
+      },
+      scImageCaptionFr: {
+        json: [
+          {
+            nodeType: "paragraph",
+            content: [
+              {
+                nodeType: "text",
+                value: "Figure 1",
+              },
+            ],
+          },
+        ],
+      },
+      scLongDescHeadingEn: CollapseData.scLongDescHeadingEn,
+      scLongDescHeadingFr: CollapseData.scLongDescHeadingFr,
+      scLongDescEn: CollapseData.scLongDescEn,
+      scLongDescFr: CollapseData.scLongDescFr,
+    },
+  ],
+};
+ 
+Button.args = {
+  locale: "en",
+  fragments: [
+    {
+      _model: {
+        title: "SCLabs-Button-v1",
+      },
+      scId: "SIGN-IN-MSCA-BUTTON",
+      scTitleEn: "Sign in to My Service Canada Account",
+      scTitleFr: "Se connecter à Mon dossier Service Canada",
+      scDestinationURLEn:
+        "https://www.canada.ca/en/employment-social-development/services/my-account.html",
+      scDestinationURLFr:
+        "https://www.canada.ca/fr/emploi-developpement-social/services/mon-dossier.html",
+      scButtonType: ["gc:custom/decd-endc/button-type/primary"],
+    },
+  ],
+};
+ 
+QuoteVerticalLineContent.args = {
+  locale: "en",
+  fragments: [
+    {
+      _model: {
+        title: "SCLabs-Comp-Content-v1",
+      },
+      scId: "ESTIMATOR-FUTURE-ESTIMATE-COMMENT-1",
+      scLabContent: [
+        {
+          scContentEn: {
+            json: [
+              {
+                nodeType: "paragraph",
+                content: [
+                  {
+                    nodeType: "text",
+                    value:
+                      "I didn’t like having to change my birth year to get an estimate",
+                  },
+                ],
+              },
+            ],
+          },
+          scContentFr: {
+            json: [
+              {
+                nodeType: "paragraph",
+                content: [
+                  {
+                    nodeType: "text",
+                    value:
+                      "Je n’aimais pas devoir changer mon année de naissance pour avoir une estimation",
+                  },
+                ],
+              },
+            ],
+          },
+        },
+        {
+          scContentEn: {
+            json: [
+              {
+                nodeType: "paragraph",
+                content: [
+                  {
+                    nodeType: "text",
+                    value:
+                      "We now generate results that give future estimates to those who aren’t eligible yet. ",
+                  },
+                ],
+              },
+            ],
+          },
+          scContentFr: {
+            json: [
+              {
+                nodeType: "paragraph",
+                content: [
+                  {
+                    nodeType: "text",
+                    value:
+                      "Nous générons maintenant des résultats qui donnent des estimations futures aux personnes qui ne sont pas encore admissibles. ",
+                  },
+                  {
+                    nodeType: "line-break",
+                    content: [],
+                  },
+                ],
+              },
+            ],
+          },
+        },
+      ],
+      scLabLayout: "quote",
+    },
+  ],
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/fragment_renderer/PageHead.js.html b/main/coverage/lcov-report/components/fragment_renderer/PageHead.js.html new file mode 100644 index 0000000000..b38cc99368 --- /dev/null +++ b/main/coverage/lcov-report/components/fragment_renderer/PageHead.js.html @@ -0,0 +1,568 @@ + + + + + + Code coverage report for components/fragment_renderer/PageHead.js + + + + + + + + + +
+
+

All files / components/fragment_renderer PageHead.js

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 0% + Branches + 0/30 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import Head from "next/head";
+ 
+export default function PageHead(props) {
+  return (
+    <Head>
+      {/* Primary HTML Meta Tags */}
+      <title>
+        {props.locale === "en"
+          ? `${props.pageData.scTitleEn} - Service Canada Labs`
+          : `${props.pageData.scTitleFr} - Laboratoires de Service Canada`}
+      </title>
+      <meta
+        name="description"
+        content={
+          props.locale === "en"
+            ? props.pageData.scTitleEn
+            : props.pageData.scTitleFr
+        }
+      />
+      <meta name="author" content="Service Canada" />
+      <link rel="icon" href="/favicon.ico" />
+      <link rel="schema.dcterms" href="http://purl.org/dc/terms/" />
+      <meta
+        name="keywords"
+        content={
+          props.locale === "en"
+            ? props.pageData.scKeywordsEn
+            : props.pageData.scKeywordsFr
+        }
+      />
+ 
+      {/* DCMI Meta Tags */}
+      <meta
+        name="dcterms.title"
+        content={
+          props.locale === "en"
+            ? props.pageData.scTitleEn
+            : props.pageData.scTitleFr
+        }
+      />
+      <meta
+        name="dcterms.language"
+        content={props.locale === "en" ? "eng" : "fra"}
+        title="ISO639-2/T"
+      />
+      <meta
+        name="dcterms.creator"
+        content={
+          props.locale === "en"
+            ? "Employment and Social Development Canada"
+            : "Emploi et Développement social Canada"
+        }
+      />
+      <meta name="dcterms.accessRights" content="2" />
+      <meta name="dcterms.service" content="ESDC-EDSC_SCLabs-LaboratoireSC" />
+      <meta name="dcterms.issued" title="W3CDTF" content="2023-07-07" />
+ 
+      <meta name="dcterms.modified" title="W3CDTF" content="2023-07-07" />
+      <meta
+        name="dcterms.description"
+        content={
+          props.locale === "en"
+            ? props.pageData.scTitleEn
+            : props.pageData.scTitleFr
+        }
+      />
+      <meta
+        name="dcterms.subject"
+        title="gccore"
+        content={props.pageData.scSubject}
+      />
+      <meta name="dcterms.spatial" content="Canada" />
+ 
+      {/* Open Graph / Facebook */}
+      <meta property="og:type" content="website" />
+      <meta property="og:locale" content={props.locale} />
+      <meta
+        property="og:url"
+        content={
+          "https://alpha.service.canada.ca" +
+          `${
+            props.locale === "en"
+              ? props.pageData.scPageNameEn
+              : props.pageData.scPageNameFr
+          }`
+        }
+      />
+      <meta
+        property="og:title"
+        content={
+          props.locale === "en"
+            ? props.pageData.scTitleEn
+            : props.pageData.scTitleFr
+        }
+      />
+      <meta
+        property="og:description"
+        content={
+          props.locale === "en"
+            ? props.pageData.scTitleEn
+            : props.pageData.scTitleFr
+        }
+      />
+      <meta
+        property="og:image"
+        content={props.pageData.scSocialMediaImageEn?._publishUrl}
+      />
+      <meta
+        property="og:image:alt"
+        content={
+          props.locale === "en"
+            ? props.pageData.scTitleEn
+            : props.pageData.scTitleFr
+        }
+      />
+ 
+      {/* Twitter */}
+      <meta property="twitter:card" content="summary_large_image" />
+      <meta
+        property="twitter:url"
+        content={
+          "https://alpha.service.canada.ca" +
+          `${
+            props.locale === "en"
+              ? props.pageData.scPageNameEn
+              : props.pageData.scPageNameFr
+          }`
+        }
+      />
+      <meta
+        property="twitter:title"
+        content={
+          props.locale === "en"
+            ? props.pageData.scTitleEn
+            : props.pageData.scTitleFr
+        }
+      />
+      <meta name="twitter:creator" content="Service Canada" />
+      <meta
+        property="twitter:description"
+        content={
+          props.locale === "en"
+            ? props.pageData.scTitleEn
+            : props.pageData.scTitleFr
+        }
+      />
+      <meta
+        property="twitter:image"
+        content={props.pageData.scSocialMediaImageEn?._publishUrl}
+      />
+      <meta
+        property="twitter:image:alt"
+        content={
+          props.locale === "en"
+            ? props.pageData.scTitleEn
+            : props.pageData.scTitleFr
+        }
+      />
+    </Head>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/fragment_renderer/fragment_components/ArticleCTA.js.html b/main/coverage/lcov-report/components/fragment_renderer/fragment_components/ArticleCTA.js.html new file mode 100644 index 0000000000..0a3b01150a --- /dev/null +++ b/main/coverage/lcov-report/components/fragment_renderer/fragment_components/ArticleCTA.js.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for components/fragment_renderer/fragment_components/ArticleCTA.js + + + + + + + + + +
+
+

All files / components/fragment_renderer/fragment_components ArticleCTA.js

+
+ +
+ 100% + Statements + 2/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 2/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +144x +  +5x +  +  +  +  +  +  +  +  +  +  + 
import { CTA } from "../../molecules/CTA";
+ 
+export default function ArticleCTA({ heading, body, ButtonProps, LinkProps }) {
+  return (
+    <CTA
+      heading={heading}
+      body={body}
+      ButtonProps={ButtonProps}
+      LinkProps={LinkProps}
+      containerClass="layout-container my-4"
+    />
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/fragment_renderer/fragment_components/ArticleCTA.stories.js.html b/main/coverage/lcov-report/components/fragment_renderer/fragment_components/ArticleCTA.stories.js.html new file mode 100644 index 0000000000..4baec86222 --- /dev/null +++ b/main/coverage/lcov-report/components/fragment_renderer/fragment_components/ArticleCTA.stories.js.html @@ -0,0 +1,151 @@ + + + + + + Code coverage report for components/fragment_renderer/fragment_components/ArticleCTA.stories.js + + + + + + + + + +
+
+

All files / components/fragment_renderer/fragment_components ArticleCTA.stories.js

+
+ +
+ 85.71% + Statements + 6/7 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 5/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +231x +1x +  +1x +  +  +  +  +  +  +1x +1x +  +  +  +  +  +  +  +  +  +  + 
import * as React from "react";
+import ArticleCTA from "./ArticleCTA";
+ 
+export default {
+  title: "Components/Fragment_Renderer/Fragment_Components/ArticleCTA",
+  component: ArticleCTA,
+};
+ 
+const Template = (args) => <ArticleCTA {...args} />;
+ 
+export const Default = Template.bind({});
+Default.args = {
+  heading: "This is a heading",
+  body: "This is a body",
+  ButtonProps: {
+    text: "Action Button",
+  },
+  LinkProps: {
+    id: "privacy-policy",
+    text: "Review the Privacy Policy",
+  },
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/fragment_renderer/fragment_components/BasicTextWithImage.js.html b/main/coverage/lcov-report/components/fragment_renderer/fragment_components/BasicTextWithImage.js.html new file mode 100644 index 0000000000..ac5cc4886b --- /dev/null +++ b/main/coverage/lcov-report/components/fragment_renderer/fragment_components/BasicTextWithImage.js.html @@ -0,0 +1,163 @@ + + + + + + Code coverage report for components/fragment_renderer/fragment_components/BasicTextWithImage.js + + + + + + + + + +
+
+

All files / components/fragment_renderer/fragment_components BasicTextWithImage.js

+
+ +
+ 100% + Statements + 3/3 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 3/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +275x +5x +  +4x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import Image from "next/image";
+import TextRender from "../../text_node_renderer/TextRender";
+ 
+export default function BasicTextWithImage({ src, alt, width, height, data }) {
+  return (
+    <div className="layout-container grid grid-cols-12 gap-x-6 my-12">
+      <div className="hidden lg:grid col-start-8 col-span-5 row-start-1 row-span-2">
+        <div className="flex justify-center">
+          <div className="h-auto">
+            <Image
+              src={src}
+              alt={alt}
+              width={width}
+              height={height}
+              sizes="50vw"
+              quality={100}
+            />
+          </div>
+        </div>
+      </div>
+      <div className="col-span-12 lg:col-span-7">
+        <TextRender data={data} excludeH1={true} />
+      </div>
+    </div>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/fragment_renderer/fragment_components/BasicTextWithImage.stories.js.html b/main/coverage/lcov-report/components/fragment_renderer/fragment_components/BasicTextWithImage.stories.js.html new file mode 100644 index 0000000000..e474eee1b1 --- /dev/null +++ b/main/coverage/lcov-report/components/fragment_renderer/fragment_components/BasicTextWithImage.stories.js.html @@ -0,0 +1,172 @@ + + + + + + Code coverage report for components/fragment_renderer/fragment_components/BasicTextWithImage.stories.js + + + + + + + + + +
+
+

All files / components/fragment_renderer/fragment_components BasicTextWithImage.stories.js

+
+ +
+ 85.71% + Statements + 6/7 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 5/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +301x +1x +  +1x +  +  +  +  +  +  +1x +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import * as React from "react";
+import BasicTextWithImage from "./BasicTextWithImage";
+ 
+export default {
+  title: "Components/Fragment_Renderer/Fragment_Components/BasicTextWithImage",
+  component: BasicTextWithImage,
+};
+ 
+const Template = (args) => <BasicTextWithImage {...args} />;
+ 
+export const Default = Template.bind({});
+Default.args = {
+  src: "https://www.canada.ca/content/dam/decd-endc/images/sclabs/benefits-navigator/navigator-overview.jpg",
+  alt: "image alt text",
+  width: 359,
+  height: 260,
+  data: [
+    {
+      nodeType: "paragraph",
+      content: [
+        {
+          nodeType: "text",
+          value:
+            "Every week, our product team meets for Feedback Friday to sort through all the new survey responses. We look at the ratings and comments people shared with us about their experience. ",
+        },
+      ],
+    },
+  ],
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/fragment_renderer/fragment_components/Button.js.html b/main/coverage/lcov-report/components/fragment_renderer/fragment_components/Button.js.html new file mode 100644 index 0000000000..748add892e --- /dev/null +++ b/main/coverage/lcov-report/components/fragment_renderer/fragment_components/Button.js.html @@ -0,0 +1,154 @@ + + + + + + Code coverage report for components/fragment_renderer/fragment_components/Button.js + + + + + + + + + +
+
+

All files / components/fragment_renderer/fragment_components Button.js

+
+ +
+ 100% + Statements + 3/3 +
+ + +
+ 66.66% + Branches + 4/6 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 3/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +244x +  +6x +  +7x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { ActionButton } from "../../atoms/ActionButton";
+ 
+export default function Button({ id, buttonType, href, text }) {
+  const style =
+    buttonType === null
+      ? "primary"
+      : buttonType === "gc:custom/decd-endc/button-type/primary"
+      ? "primary"
+      : buttonType === "gc:custom/decd-endc/button-type/secondary"
+      ? "secondary"
+      : "primary";
+  return (
+    <div className="layout-container grid grid-cols-12 gap-x-6 my-12">
+      <ActionButton
+        id={id}
+        style={style}
+        custom="col-span-12"
+        href={href}
+        text={text}
+      />
+    </div>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/fragment_renderer/fragment_components/Button.stories.js.html b/main/coverage/lcov-report/components/fragment_renderer/fragment_components/Button.stories.js.html new file mode 100644 index 0000000000..7a1127624e --- /dev/null +++ b/main/coverage/lcov-report/components/fragment_renderer/fragment_components/Button.stories.js.html @@ -0,0 +1,160 @@ + + + + + + Code coverage report for components/fragment_renderer/fragment_components/Button.stories.js + + + + + + + + + +
+
+

All files / components/fragment_renderer/fragment_components Button.stories.js

+
+ +
+ 90% + Statements + 9/10 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 7/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +261x +1x +  +1x +  +  +  +  +  +  +1x +1x +1x +  +  +  +  +  +  +1x +  +  +  +  +  + 
import * as React from "react";
+import Button from "./Button";
+ 
+export default {
+  title: "Components/Fragment_Renderer/Fragment_Components/Button",
+  component: Button,
+};
+ 
+const Template = (args) => <Button {...args} />;
+ 
+export const Primary = Template.bind({});
+export const Secondary = Template.bind({});
+Primary.args = {
+  id: "Primary",
+  buttonType: "gc:custom/decd-endc/button-type/primary",
+  href: "/",
+  text: "Primary Button",
+};
+ 
+Secondary.args = {
+  id: "Secondary",
+  buttonType: "gc:custom/decd-endc/button-type/secondary",
+  href: "/",
+  text: "Secondary Button",
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/fragment_renderer/fragment_components/ImageFragment.js.html b/main/coverage/lcov-report/components/fragment_renderer/fragment_components/ImageFragment.js.html new file mode 100644 index 0000000000..b08963d0f4 --- /dev/null +++ b/main/coverage/lcov-report/components/fragment_renderer/fragment_components/ImageFragment.js.html @@ -0,0 +1,178 @@ + + + + + + Code coverage report for components/fragment_renderer/fragment_components/ImageFragment.js + + + + + + + + + +
+
+

All files / components/fragment_renderer/fragment_components ImageFragment.js

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 0% + Branches + 0/6 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import Image from "next/image";
+ 
+export default function ImageFragment(props) {
+  return (
+    <div className="layout-container grid grid-cols-12 gap-x-6 my-12">
+      <Image
+        id={props.scId}
+        src={
+          props.locale === "en"
+            ? props.fragmentData.scImageEn._publishUrl
+            : props.fragmentData.scImageFr._publishUrl
+        }
+        alt={
+          props.locale === "en"
+            ? props.fragmentData.scImageAltTextEn
+            : props.fragmentData.scImageAltTextFr
+        }
+        className="col-span-12 lg:col-span-10"
+        width={props.fragmentData.scImageEn.width}
+        height={props.fragmentData.scImageEn.height}
+        sizes="(max-width: 768px) 100vw, 80vw"
+        quality={100}
+      />
+      <p className="grid row-start-2 col-span-12 lg:col-span-10 justify-around">
+        {props.locale === "en"
+          ? props.fragmentData.scImageCaptionEn.json[0].content[0].value
+          : props.fragmentData.scImageCaptionFr.json[0].content[0].value}
+      </p>
+    </div>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/fragment_renderer/fragment_components/ImageFragment.stories.js.html b/main/coverage/lcov-report/components/fragment_renderer/fragment_components/ImageFragment.stories.js.html new file mode 100644 index 0000000000..7541f415ae --- /dev/null +++ b/main/coverage/lcov-report/components/fragment_renderer/fragment_components/ImageFragment.stories.js.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for components/fragment_renderer/fragment_components/ImageFragment.stories.js + + + + + + + + + +
+
+

All files / components/fragment_renderer/fragment_components ImageFragment.stories.js

+
+ +
+ 0% + Statements + 0/4 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import * as React from "react";
+import ImageFragment from "./ImageFragment";
+ 
+export default {
+  title: "Components/Fragment_Renderer/Fragment_Components/ImageFragment",
+  component: ImageFragment,
+};
+ 
+// const Template = (args) => <ImageFragment {...args} />;
+ 
+// export const Default = Template.bind({});
+ 
+// Default.args = {
+//   locale: "en",
+//   id: "Primary",
+//   src: "/image1.png",
+//   alt: "alt text",
+//   width: 359,
+//   height: 260
+// };
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/fragment_renderer/fragment_components/ImageVerticalLineContent.js.html b/main/coverage/lcov-report/components/fragment_renderer/fragment_components/ImageVerticalLineContent.js.html new file mode 100644 index 0000000000..66eec09423 --- /dev/null +++ b/main/coverage/lcov-report/components/fragment_renderer/fragment_components/ImageVerticalLineContent.js.html @@ -0,0 +1,214 @@ + + + + + + Code coverage report for components/fragment_renderer/fragment_components/ImageVerticalLineContent.js + + + + + + + + + +
+
+

All files / components/fragment_renderer/fragment_components ImageVerticalLineContent.js

+
+ +
+ 100% + Statements + 4/4 +
+ + +
+ 100% + Branches + 2/2 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 4/4 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +445x +5x +5x +  +6x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import Image from "next/image";
+import TextRender from "../../text_node_renderer/TextRender";
+import { Collapse } from "../../molecules/Collapse";
+ 
+export default function ImageVerticalLineContent({
+  src,
+  alt,
+  width,
+  height,
+  data,
+  longDesc,
+  title,
+  children,
+}) {
+  return (
+    <div className="layout-container">
+      <div className="grid grid-cols-12 gap-x-6 mb-9">
+        <div className="mb-6 object-fill col-span-12 row-start-1 xl:row-start-1 xl:col-span-8">
+          <Image
+            src={src}
+            alt={alt}
+            height={height}
+            width={width}
+            sizes="100vw"
+            quality={100}
+          />
+        </div>
+        <div className="col-span-12 row-start-3 xl:col-span-4 xl:row-start-1">
+          <div className="py-4 pl-4 border-l-4 border-multi-blue-blue60f">
+            <TextRender data={data} />
+          </div>
+        </div>
+        {longDesc ? (
+          <div className="mb-6 col-span-12 xl:col-span-8 row-start-2 xl:row-start-2">
+            <Collapse data-testid="summary" title={title} children={children} />
+          </div>
+        ) : (
+          ""
+        )}
+      </div>
+    </div>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/fragment_renderer/fragment_components/ImageVerticalLineContent.stories.js.html b/main/coverage/lcov-report/components/fragment_renderer/fragment_components/ImageVerticalLineContent.stories.js.html new file mode 100644 index 0000000000..880e659f00 --- /dev/null +++ b/main/coverage/lcov-report/components/fragment_renderer/fragment_components/ImageVerticalLineContent.stories.js.html @@ -0,0 +1,475 @@ + + + + + + Code coverage report for components/fragment_renderer/fragment_components/ImageVerticalLineContent.stories.js + + + + + + + + + +
+
+

All files / components/fragment_renderer/fragment_components ImageVerticalLineContent.stories.js

+
+ +
+ 91.66% + Statements + 11/12 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 9/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +1311x +1x +1x +1x +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +1x +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import * as React from "react";
+import ImageVerticalLineContent from "./ImageVerticalLineContent";
+import TextRender from "../../text_node_renderer/TextRender";
+import { CollapseData } from "../../../__mocks__/mockStore";
+ 
+export default {
+  title:
+    "Components/Fragment_Renderer/Fragment_Components/ImageVerticalLineContent",
+  component: ImageVerticalLineContent,
+  decorators: [
+    (Story) => (
+      <div className="layout-container">
+        <Story />
+      </div>
+    ),
+  ],
+};
+ 
+const Template = (args) => <ImageVerticalLineContent {...args} />;
+ 
+export const Default = Template.bind({});
+export const WithCollapse = Template.bind({});
+Default.args = {
+  id: "ImageVerticalLineContent",
+  src: CollapseData.scImageEn._publishUrl,
+  alt: "image alt text",
+  width: CollapseData.scImageEn.width,
+  height: CollapseData.scImageEn.height,
+  data: [
+    {
+      nodeType: "header",
+      style: "h3",
+      content: [
+        {
+          nodeType: "text",
+          value: "Information is clearly presented ",
+        },
+      ],
+    },
+    {
+      nodeType: "paragraph",
+      content: [
+        {
+          nodeType: "text",
+          value: "On the dashboard, you will find: ",
+        },
+      ],
+    },
+    {
+      nodeType: "unordered-list",
+      content: [
+        {
+          nodeType: "list-item",
+          content: [
+            {
+              nodeType: "text",
+              value: "all your benefits on the same page ",
+            },
+          ],
+        },
+        {
+          nodeType: "list-item",
+          content: [
+            {
+              nodeType: "text",
+              value:
+                "a menu to access your personal information and security settings",
+            },
+          ],
+        },
+      ],
+    },
+  ],
+};
+ 
+WithCollapse.args = {
+  id: "ImageVerticalLineContent",
+  src: CollapseData.scImageEn._publishUrl,
+  alt: "image alt text",
+  width: 759,
+  height: 497,
+  data: [
+    {
+      nodeType: "header",
+      style: "h3",
+      content: [
+        {
+          nodeType: "text",
+          value: "Information is clearly presented ",
+        },
+      ],
+    },
+    {
+      nodeType: "paragraph",
+      content: [
+        {
+          nodeType: "text",
+          value: "On the dashboard, you will find: ",
+        },
+      ],
+    },
+    {
+      nodeType: "unordered-list",
+      content: [
+        {
+          nodeType: "list-item",
+          content: [
+            {
+              nodeType: "text",
+              value: "all your benefits on the same page ",
+            },
+          ],
+        },
+        {
+          nodeType: "list-item",
+          content: [
+            {
+              nodeType: "text",
+              value:
+                "a menu to access your personal information and security settings",
+            },
+          ],
+        },
+      ],
+    },
+  ],
+  title: "Example Title",
+  longDesc: "Test Description",
+  children: <TextRender data={CollapseData.scLongDescEn.json} />,
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/fragment_renderer/fragment_components/ImageWithCollapse.js.html b/main/coverage/lcov-report/components/fragment_renderer/fragment_components/ImageWithCollapse.js.html new file mode 100644 index 0000000000..bb6b1b2bea --- /dev/null +++ b/main/coverage/lcov-report/components/fragment_renderer/fragment_components/ImageWithCollapse.js.html @@ -0,0 +1,214 @@ + + + + + + Code coverage report for components/fragment_renderer/fragment_components/ImageWithCollapse.js + + + + + + + + + +
+
+

All files / components/fragment_renderer/fragment_components ImageWithCollapse.js

+
+ +
+ 100% + Statements + 3/3 +
+ + +
+ 50% + Branches + 2/4 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 3/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +444x +4x +  +6x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { Collapse } from "../../molecules/Collapse";
+import Image from "next/image";
+ 
+export default function ImageWithCollapse({
+  id,
+  src,
+  alt,
+  width,
+  height,
+  content,
+  longDesc,
+  title,
+  children,
+}) {
+  return (
+    <div className="layout-container grid grid-cols-12 gap-x-6 my-12">
+      <Image
+        id={id}
+        src={src}
+        alt={alt}
+        className="col-span-12 lg:col-span-10"
+        width={width}
+        height={height}
+        sizes="100vw"
+        quality={100}
+      />
+      {content ? (
+        <p className="grid row-start-2 col-span-12 lg:col-span-10 justify-around mb-8">
+          {content}
+        </p>
+      ) : (
+        ""
+      )}
+      {longDesc ? (
+        <div className="grid row-start-3 col-span-12 lg:col-span-10">
+          <Collapse title={title} children={children} />
+        </div>
+      ) : (
+        ""
+      )}
+    </div>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/fragment_renderer/fragment_components/ImageWithCollapse.stories.js.html b/main/coverage/lcov-report/components/fragment_renderer/fragment_components/ImageWithCollapse.stories.js.html new file mode 100644 index 0000000000..9d8f4d737d --- /dev/null +++ b/main/coverage/lcov-report/components/fragment_renderer/fragment_components/ImageWithCollapse.stories.js.html @@ -0,0 +1,157 @@ + + + + + + Code coverage report for components/fragment_renderer/fragment_components/ImageWithCollapse.stories.js + + + + + + + + + +
+
+

All files / components/fragment_renderer/fragment_components ImageWithCollapse.stories.js

+
+ +
+ 88.88% + Statements + 8/9 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 7/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +251x +1x +1x +1x +  +1x +  +  +  +  +  +  +2x +1x +  +  +  +  +  +  +  +  +  +  + 
import * as React from "react";
+import ImageWithCollapse from "./ImageWithCollapse";
+import TextRender from "../../text_node_renderer/TextRender";
+import { CollapseData } from "../../../__mocks__/mockStore";
+ 
+export default {
+  title: "Components/Fragment_Renderer/Fragment_Components/ImageWithCollapse",
+  component: ImageWithCollapse,
+};
+ 
+const Template = (args) => <ImageWithCollapse {...args} />;
+ 
+export const Default = Template.bind({});
+Default.args = {
+  id: "ImageWithCollapse",
+  src: CollapseData.scImageEn._publishUrl,
+  alt: "image alt text",
+  width: CollapseData.scImageEn.width,
+  height: CollapseData.scImageEn.height,
+  content: CollapseData.scImageCaptionEn.json[0].content[0].value,
+  title: "Example Title",
+  longDesc: "Test Description",
+  children: <TextRender data={CollapseData.scLongDescEn.json} />,
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/fragment_renderer/fragment_components/QuoteVerticalLineContent.js.html b/main/coverage/lcov-report/components/fragment_renderer/fragment_components/QuoteVerticalLineContent.js.html new file mode 100644 index 0000000000..e39a3ac6d7 --- /dev/null +++ b/main/coverage/lcov-report/components/fragment_renderer/fragment_components/QuoteVerticalLineContent.js.html @@ -0,0 +1,154 @@ + + + + + + Code coverage report for components/fragment_renderer/fragment_components/QuoteVerticalLineContent.js + + + + + + + + + +
+
+

All files / components/fragment_renderer/fragment_components QuoteVerticalLineContent.js

+
+ +
+ 100% + Statements + 2/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 2/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +244x +  +5x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import TextRender from "../../text_node_renderer/TextRender";
+ 
+export default function QuoteVerticalLineContent({
+  quoteText,
+  explanationtext,
+}) {
+  return (
+    <div className="layout-container grid grid-cols-12 gap-x-4 my-12">
+      <div className="col-span-12 xl:col-span-3">
+        <div className="speech-bubble">
+          <div className="speech-bubble-top">
+            <blockquote className="speech-bubble-quote">
+              <TextRender data={quoteText} />
+            </blockquote>
+          </div>
+        </div>
+      </div>
+      <div className="col-span-12 lg:col-span-7 xl:col-span-4 xxl:-ml-14 h-fit p-5 border-l-4 border-multi-blue-blue60f">
+        <TextRender data={explanationtext} />
+      </div>
+    </div>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/fragment_renderer/fragment_components/QuoteVerticalLineContent.stories.js.html b/main/coverage/lcov-report/components/fragment_renderer/fragment_components/QuoteVerticalLineContent.stories.js.html new file mode 100644 index 0000000000..2d0a1aa9c5 --- /dev/null +++ b/main/coverage/lcov-report/components/fragment_renderer/fragment_components/QuoteVerticalLineContent.stories.js.html @@ -0,0 +1,196 @@ + + + + + + Code coverage report for components/fragment_renderer/fragment_components/QuoteVerticalLineContent.stories.js + + + + + + + + + +
+
+

All files / components/fragment_renderer/fragment_components QuoteVerticalLineContent.stories.js

+
+ +
+ 85.71% + Statements + 6/7 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 5/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +381x +1x +  +1x +  +  +  +  +  +  +  +1x +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import * as React from "react";
+import QuoteVerticalLineContent from "./QuoteVerticalLineContent";
+ 
+export default {
+  title:
+    "Components/Fragment_Renderer/Fragment_Components/QuoteVerticalLineContent",
+  component: QuoteVerticalLineContent,
+};
+ 
+const Template = (args) => <QuoteVerticalLineContent {...args} />;
+ 
+export const Default = Template.bind({});
+Default.args = {
+  locale: "en",
+  quoteText: [
+    {
+      nodeType: "paragraph",
+      content: [
+        {
+          nodeType: "text",
+          value: "Quote Text",
+        },
+      ],
+    },
+  ],
+  explanationtext: [
+    {
+      nodeType: "paragraph",
+      content: [
+        {
+          nodeType: "text",
+          value: "Explanation Text",
+        },
+      ],
+    },
+  ],
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/fragment_renderer/fragment_components/TextContent.js.html b/main/coverage/lcov-report/components/fragment_renderer/fragment_components/TextContent.js.html new file mode 100644 index 0000000000..f6059679bc --- /dev/null +++ b/main/coverage/lcov-report/components/fragment_renderer/fragment_components/TextContent.js.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for components/fragment_renderer/fragment_components/TextContent.js + + + + + + + + + +
+
+

All files / components/fragment_renderer/fragment_components TextContent.js

+
+ +
+ 100% + Statements + 2/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 2/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +124x +  +5x +  +  +  +  +  +  +  +  + 
import TextRender from "../../text_node_renderer/TextRender";
+ 
+export default function TextContent({ data }) {
+  return (
+    <div className="layout-container grid grid-cols-12 gap-x-6 my-12">
+      <div className="col-span-12 lg:col-span-7">
+        <TextRender data={data} excludeH1={true} />
+      </div>
+    </div>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/fragment_renderer/fragment_components/TextContent.stories.js.html b/main/coverage/lcov-report/components/fragment_renderer/fragment_components/TextContent.stories.js.html new file mode 100644 index 0000000000..8fd7cecadc --- /dev/null +++ b/main/coverage/lcov-report/components/fragment_renderer/fragment_components/TextContent.stories.js.html @@ -0,0 +1,163 @@ + + + + + + Code coverage report for components/fragment_renderer/fragment_components/TextContent.stories.js + + + + + + + + + +
+
+

All files / components/fragment_renderer/fragment_components TextContent.stories.js

+
+ +
+ 85.71% + Statements + 6/7 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 5/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +271x +1x +  +1x +  +  +  +  +  +  +1x +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import * as React from "react";
+import TextContent from "./TextContent";
+ 
+export default {
+  title: "Components/Fragment_Renderer/Fragment_Components/TextContent",
+  component: TextContent,
+};
+ 
+const Template = (args) => <TextContent {...args} />;
+ 
+export const Default = Template.bind({});
+ 
+Default.args = {
+  data: [
+    {
+      nodeType: "paragraph",
+      content: [
+        {
+          nodeType: "text",
+          value:
+            "Every week, our product team meets for Feedback Friday to sort through all the new survey responses. We look at the ratings and comments people shared with us about their experience. ",
+        },
+      ],
+    },
+  ],
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/fragment_renderer/fragment_components/TextWithImage.js.html b/main/coverage/lcov-report/components/fragment_renderer/fragment_components/TextWithImage.js.html new file mode 100644 index 0000000000..ce84fef216 --- /dev/null +++ b/main/coverage/lcov-report/components/fragment_renderer/fragment_components/TextWithImage.js.html @@ -0,0 +1,211 @@ + + + + + + Code coverage report for components/fragment_renderer/fragment_components/TextWithImage.js + + + + + + + + + +
+
+

All files / components/fragment_renderer/fragment_components TextWithImage.js

+
+ +
+ 80% + Statements + 4/5 +
+ + +
+ 0% + Branches + 0/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 80% + Lines + 4/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +434x +4x +  +7x +  +  +  +  +  +  +  +  +  +  +5x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import BasicTextWithImage from "./BasicTextWithImage";
+import ImageVerticalLineContent from "./ImageVerticalLineContent";
+ 
+export default function TextWithImage({
+  src,
+  alt,
+  width,
+  height,
+  data,
+  layout,
+  title,
+  longDesc,
+  children,
+}) {
+  switch (layout) {
+    case "default":
+      return (
+        <BasicTextWithImage
+          src={src}
+          alt={alt}
+          width={width}
+          height={height}
+          data={data}
+        />
+      );
+    case "image-vertical-line-content":
+      return (
+        <ImageVerticalLineContent
+          src={src}
+          alt={alt}
+          width={width}
+          height={height}
+          data={data}
+          title={title}
+          longDesc={longDesc}
+          children={children}
+        />
+      );
+    default:
+      break;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/fragment_renderer/fragment_components/TextWithImage.stories.js.html b/main/coverage/lcov-report/components/fragment_renderer/fragment_components/TextWithImage.stories.js.html new file mode 100644 index 0000000000..c71fb9b17a --- /dev/null +++ b/main/coverage/lcov-report/components/fragment_renderer/fragment_components/TextWithImage.stories.js.html @@ -0,0 +1,517 @@ + + + + + + Code coverage report for components/fragment_renderer/fragment_components/TextWithImage.stories.js + + + + + + + + + +
+
+

All files / components/fragment_renderer/fragment_components TextWithImage.stories.js

+
+ +
+ 93.33% + Statements + 14/15 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 11/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +1451x +1x +1x +1x +  +1x +  +  +  +  +  +  +1x +1x +1x +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import * as React from "react";
+import TextWithImage from "./TextWithImage";
+import TextRender from "../../text_node_renderer/TextRender";
+import { CollapseData } from "../../../__mocks__/mockStore";
+ 
+export default {
+  title: "Components/Fragment_Renderer/Fragment_Components/TextWithImage",
+  component: TextWithImage,
+};
+ 
+const Template = (args) => <TextWithImage {...args} />;
+ 
+export const Default = Template.bind({});
+export const Vertical = Template.bind({});
+export const VerticalWithCollapse = Template.bind({});
+ 
+Default.args = {
+  src: "/image2.png",
+  alt: "image alt text",
+  width: 759,
+  height: 498,
+  layout: "default",
+  data: [
+    {
+      nodeType: "paragraph",
+      content: [
+        {
+          nodeType: "text",
+          value:
+            "Every week, our product team meets for Feedback Friday to sort through all the new survey responses. We look at the ratings and comments people shared with us about their experience. ",
+        },
+      ],
+    },
+  ],
+};
+ 
+Vertical.args = {
+  src: CollapseData.scImageEn._publishUrl,
+  alt: "image alt text",
+  width: CollapseData.scImageEn.width,
+  height: CollapseData.scImageEn.height,
+  layout: "image-vertical-line-content",
+  data: [
+    {
+      nodeType: "header",
+      style: "h3",
+      content: [
+        {
+          nodeType: "text",
+          value: "Information is clearly presented ",
+        },
+      ],
+    },
+    {
+      nodeType: "paragraph",
+      content: [
+        {
+          nodeType: "text",
+          value: "On the dashboard, you will find: ",
+        },
+      ],
+    },
+    {
+      nodeType: "unordered-list",
+      content: [
+        {
+          nodeType: "list-item",
+          content: [
+            {
+              nodeType: "text",
+              value: "all your benefits on the same page ",
+            },
+          ],
+        },
+        {
+          nodeType: "list-item",
+          content: [
+            {
+              nodeType: "text",
+              value:
+                "a menu to access your personal information and security settings",
+            },
+          ],
+        },
+      ],
+    },
+  ],
+};
+ 
+VerticalWithCollapse.args = {
+  src: CollapseData.scImageEn._publishUrl,
+  alt: "image alt text",
+  width: CollapseData.scImageEn.width,
+  height: CollapseData.scImageEn.height,
+  layout: "image-vertical-line-content",
+  data: [
+    {
+      nodeType: "header",
+      style: "h3",
+      content: [
+        {
+          nodeType: "text",
+          value: "Information is clearly presented ",
+        },
+      ],
+    },
+    {
+      nodeType: "paragraph",
+      content: [
+        {
+          nodeType: "text",
+          value: "On the dashboard, you will find: ",
+        },
+      ],
+    },
+    {
+      nodeType: "unordered-list",
+      content: [
+        {
+          nodeType: "list-item",
+          content: [
+            {
+              nodeType: "text",
+              value: "all your benefits on the same page ",
+            },
+          ],
+        },
+        {
+          nodeType: "list-item",
+          content: [
+            {
+              nodeType: "text",
+              value:
+                "a menu to access your personal information and security settings",
+            },
+          ],
+        },
+      ],
+    },
+  ],
+  title: "Example Title",
+  longDesc: "Test Description",
+  children: <TextRender data={CollapseData.scLongDescEn.json} />,
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/fragment_renderer/fragment_components/index.html b/main/coverage/lcov-report/components/fragment_renderer/fragment_components/index.html new file mode 100644 index 0000000000..3c074207be --- /dev/null +++ b/main/coverage/lcov-report/components/fragment_renderer/fragment_components/index.html @@ -0,0 +1,371 @@ + + + + + + Code coverage report for components/fragment_renderer/fragment_components + + + + + + + + + +
+
+

All files components/fragment_renderer/fragment_components

+
+ +
+ 85.57% + Statements + 89/104 +
+ + +
+ 42.1% + Branches + 8/19 +
+ + +
+ 88.88% + Functions + 8/9 +
+ + +
+ 92.77% + Lines + 77/83 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
ArticleCTA.js +
+
100%2/2100%0/0100%1/1100%2/2
ArticleCTA.stories.js +
+
85.71%6/7100%0/0100%0/0100%5/5
BasicTextWithImage.js +
+
100%3/3100%0/0100%1/1100%3/3
BasicTextWithImage.stories.js +
+
85.71%6/7100%0/0100%0/0100%5/5
Button.js +
+
100%3/366.66%4/6100%1/1100%3/3
Button.stories.js +
+
90%9/10100%0/0100%0/0100%7/7
ImageFragment.js +
+
0%0/20%0/60%0/10%0/2
ImageFragment.stories.js +
+
0%0/4100%0/0100%0/00%0/3
ImageVerticalLineContent.js +
+
100%4/4100%2/2100%1/1100%4/4
ImageVerticalLineContent.stories.js +
+
91.66%11/12100%0/0100%0/0100%9/9
ImageWithCollapse.js +
+
100%3/350%2/4100%1/1100%3/3
ImageWithCollapse.stories.js +
+
88.88%8/9100%0/0100%0/0100%7/7
QuoteVerticalLineContent.js +
+
100%2/2100%0/0100%1/1100%2/2
QuoteVerticalLineContent.stories.js +
+
85.71%6/7100%0/0100%0/0100%5/5
TextContent.js +
+
100%2/2100%0/0100%1/1100%2/2
TextContent.stories.js +
+
85.71%6/7100%0/0100%0/0100%5/5
TextWithImage.js +
+
80%4/50%0/1100%1/180%4/5
TextWithImage.stories.js +
+
93.33%14/15100%0/0100%0/0100%11/11
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/fragment_renderer/index.html b/main/coverage/lcov-report/components/fragment_renderer/index.html new file mode 100644 index 0000000000..77461da390 --- /dev/null +++ b/main/coverage/lcov-report/components/fragment_renderer/index.html @@ -0,0 +1,146 @@ + + + + + + Code coverage report for components/fragment_renderer + + + + + + + + + +
+
+

All files components/fragment_renderer

+
+ +
+ 89.28% + Statements + 50/56 +
+ + +
+ 39.78% + Branches + 37/93 +
+ + +
+ 75% + Functions + 3/4 +
+ + +
+ 89.58% + Lines + 43/48 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
FragmentRender.js +
+
89.28%25/2858.73%37/63100%3/389.28%25/28
FragmentRender.stories.js +
+
96.15%25/26100%0/0100%0/0100%18/18
PageHead.js +
+
0%0/20%0/300%0/10%0/2
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/index.html b/main/coverage/lcov-report/components/index.html new file mode 100644 index 0000000000..e981f69885 --- /dev/null +++ b/main/coverage/lcov-report/components/index.html @@ -0,0 +1,116 @@ + + + + + + Code coverage report for components + + + + + + + + + +
+
+

All files components

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
index.js +
+
0%0/1100%0/0100%0/00%0/1
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/index.js.html b/main/coverage/lcov-report/components/index.js.html new file mode 100644 index 0000000000..a41d0b23ae --- /dev/null +++ b/main/coverage/lcov-report/components/index.js.html @@ -0,0 +1,88 @@ + + + + + + Code coverage report for components/index.js + + + + + + + + + +
+
+

All files / components index.js

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2  + 
import "prop-types";
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/molecules/CTA.js.html b/main/coverage/lcov-report/components/molecules/CTA.js.html new file mode 100644 index 0000000000..78a321ddef --- /dev/null +++ b/main/coverage/lcov-report/components/molecules/CTA.js.html @@ -0,0 +1,208 @@ + + + + + + Code coverage report for components/molecules/CTA.js + + + + + + + + + +
+
+

All files / components/molecules CTA.js

+
+ +
+ 100% + Statements + 6/6 +
+ + +
+ 66.66% + Branches + 2/3 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 100% + Lines + 5/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +425x +5x +5x +  +7x +  +  +  +  +  +  +  +5x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { DSButton } from "../atoms/DSButton";
+import { Link } from "../atoms/Link";
+import { Image } from "../atoms/Image";
+ 
+export function CTA({
+  heading,
+  body,
+  ButtonProps,
+  LinkProps,
+  containerClass = "",
+}) {
+  // Check if body prop is HTML content
+  const isHTML = (str) => /<\/?[a-z][\s\S]*>/i.test(str);
+ 
+  return (
+    <div className="bg-multi-blue-blue2 p-3">
+      <div className={`flex flex-row ${containerClass}`}>
+        <div className="flex flex-col w-[60px] shrink-0">
+          <Image alt="icon" src="/comment_bubble.svg" className="w-[60px]" />
+          <div className="flex-grow divide-x-2 divide-multi-blue-blue60a flex flex-row justify-center mt-3">
+            <div></div>
+            <div></div>
+          </div>
+        </div>
+        <div className="pt-0 pl-5">
+          <h3 className={`leading-[40px] text-multi-neutrals-grey100`}>
+            {heading}
+          </h3>
+          {isHTML(body) ? body : <p className="body">{body}</p>}
+          <DSButton
+            styling="primary"
+            className="my-3"
+            type="button"
+            {...ButtonProps}
+          />
+          {LinkProps && <Link {...LinkProps} />}
+        </div>
+      </div>
+    </div>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/molecules/CTA.stories.js.html b/main/coverage/lcov-report/components/molecules/CTA.stories.js.html new file mode 100644 index 0000000000..3a25e33aa6 --- /dev/null +++ b/main/coverage/lcov-report/components/molecules/CTA.stories.js.html @@ -0,0 +1,175 @@ + + + + + + Code coverage report for components/molecules/CTA.stories.js + + + + + + + + + +
+
+

All files / components/molecules CTA.stories.js

+
+ +
+ 90% + Statements + 9/10 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 7/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +311x +1x +1x +  +  +  +  +  +  +4x +1x +  +  +  +  +  +  +  +  +  +  +  +2x +1x +  +  +  +  +  +  + 
import * as React from "react";
+import { CTA } from "./CTA";
+export default {
+  title: "Components/Molecules/CTA",
+  component: CTA,
+};
+ 
+const Template = (args) => <CTA {...args} />;
+ 
+export const Default = Template.bind({});
+Default.args = {
+  heading: "This is a call-to-action!",
+  body: "This sentence explains the action we want the users to take.",
+  ButtonProps: {
+    text: "Action Button",
+  },
+  LinkProps: {
+    id: "privacy-policy",
+    text: "Review the Privacy Policy",
+  },
+};
+ 
+export const WithoutLink = Template.bind({});
+WithoutLink.args = {
+  heading: "This is a call-to-action!",
+  body: "This sentence explains the action we want the users to take.",
+  ButtonProps: {
+    text: "Action Button",
+  },
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/molecules/Card.js.html b/main/coverage/lcov-report/components/molecules/Card.js.html new file mode 100644 index 0000000000..e14b0c18e5 --- /dev/null +++ b/main/coverage/lcov-report/components/molecules/Card.js.html @@ -0,0 +1,565 @@ + + + + + + Code coverage report for components/molecules/Card.js + + + + + + + + + +
+
+

All files / components/molecules Card.js

+
+ +
+ 91.66% + Statements + 11/12 +
+ + +
+ 64.28% + Branches + 9/14 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 10/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +1618x +8x +8x +8x +8x +  +  +  +  +  +8x +12x +  +  +  +  +  +  +12x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +8x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +13x + 
import React from "react";
+import PropTypes from "prop-types";
+import Link from "next/link";
+import { ActionButton } from "../atoms/ActionButton";
+import Image from "next/image";
+ 
+/**
+ * Displays an experiment card on the page
+ */
+ 
+export const Card = (props) => {
+  const tagColours = {
+    current_projects: "custom-green",
+    past_projects: "custom-gray",
+    upcoming_projects: "custom-blue",
+    new_update: "new-update",
+  };
+ 
+  const tagColour = tagColours[props.tag] ?? "custom-gray";
+ 
+  return (
+    <Link href={props.href}>
+      <div
+        className={`h-full group card-shadow border border-custom-gray-border rounded-md pb-4 hover:cursor-pointer ${
+          "border-" + tagColour
+        }`}
+        data-testid={props.dataTestId}
+        data-cy={props.dataCy}
+      >
+        {props.showImage ? (
+          <div className="sm:h-80 flex justify-center">
+            <Image
+              src={props.imgSrc}
+              alt={props.imgAlt}
+              className="object-contain"
+              width={props.imgWidth}
+              height={props.imgHeight}
+              // Cards are single column up to 768px
+              sizes="(max-width: 768px) 100vw, (max-width: 1200px) 50vw, 33vw"
+              quality={100}
+            />
+          </div>
+        ) : (
+          ""
+        )}
+        <div className="flex">
+          <p className="block font-display text-lg text-custom-blue-projects-link font-bold underline underline-offset-[6px] my-1 py-2 px-6 items-center group-hover:text-custom-blue-projects-link-hover">
+            {props.title}
+            {props.showIcon ? (
+              props.href.substring(0, 8) === "https://" ? (
+                <div className="h-4 w-4 ml-1 mt-1 relative">
+                  <img src={props.icon} alt={props.iconAlt} />
+                </div>
+              ) : (
+                ""
+              )
+            ) : (
+              ""
+            )}
+          </p>
+          {props.showTag ? (
+            <span
+              className={`block w-max py-2 px-2 font-body font-bold border-l-4 mr-6 mt-auto mb-auto border-${tagColour}-darker bg-${tagColour}-lighter
+              `}
+            >
+              {props.tagLabel}
+            </span>
+          ) : (
+            ""
+          )}
+        </div>
+        {props.showDate ? (
+          <p className="ml-6 text-base text-custom-gray-date">
+            {"Posted: " + props.datePosted.substring(0, 10)}
+          </p>
+        ) : (
+          ""
+        )}
+        <p className="text-custom-gray-text mx-6 leading-30px text-lg">
+          {props.description}
+        </p>
+        {props.showButton ? (
+          <ActionButton
+            href={props.btnHref}
+            text={props.btnText}
+            id={props.btnId}
+            dataCy={props.btnId}
+            className="flex mt-6 mb-2 ml-4 rounded xxs:w-full xs:w-fit py-2 bg-[#EAEBED] text-custom-blue-text focus:ring-inset focus:ring-2 focus:ring-black hover:bg-details-button-hover-gray text-center border border-details-button-gray"
+          />
+        ) : (
+          ""
+        )}
+      </div>
+    </Link>
+  );
+};
+ 
+Card.propTypes = {
+  /**
+   * Title of the experiment card.
+   */
+  title: PropTypes.string.isRequired,
+ 
+  /**
+   * tag of the experiment card
+   */
+  tag: PropTypes.string,
+ 
+  /**
+   * Link of the card
+   */
+  href: PropTypes.string,
+ 
+  /**
+   * the label of the tag card
+   */
+  tagLabel: PropTypes.string,
+ 
+  /**
+   * Description of the experiment card.
+   */
+  description: PropTypes.string.isRequired,
+ 
+  /**
+   * the test id for unit tests
+   */
+  dataTestId: PropTypes.string,
+ 
+  /**
+   * the test id for cypress test
+   */
+  dataCy: PropTypes.string,
+ 
+  /**
+   * Boolean value to show or hide image
+   */
+  showImage: PropTypes.bool,
+ 
+  /**
+   * Boolean value to show or hide button
+   */
+  showButton: PropTypes.bool,
+ 
+  /**
+   * Boolean value to show or hide date
+   */
+  showDate: PropTypes.bool,
+ 
+  /**
+   * Boolean value to show or hide icon beside title
+   */
+  showIcon: PropTypes.bool,
+ 
+  /**
+   * Boolean value to show or hide tag
+   */
+  showTag: PropTypes.bool,
+};
+ 
+export default Card;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/molecules/Card.stories.js.html b/main/coverage/lcov-report/components/molecules/Card.stories.js.html new file mode 100644 index 0000000000..3be7d392b2 --- /dev/null +++ b/main/coverage/lcov-report/components/molecules/Card.stories.js.html @@ -0,0 +1,262 @@ + + + + + + Code coverage report for components/molecules/Card.stories.js + + + + + + + + + +
+
+

All files / components/molecules Card.stories.js

+
+ +
+ 80% + Statements + 16/20 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 14/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +601x +1x +1x +  +1x +  +  +  +  +  +  +4x +2x +1x +1x +1x +  +1x +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  + 
import React from "react";
+import Card from "./Card";
+import Image from "../../public/placeholder.png";
+ 
+export default {
+  title: "Components/Molecules/Card",
+  component: Card,
+};
+ 
+const Template = (args) => <Card {...args} />;
+ 
+export const Primary = Template.bind({});
+export const WithTag = Template.bind({});
+export const WithImage = Template.bind({});
+export const WithDate = Template.bind({});
+export const WithButton = Template.bind({});
+ 
+Primary.args = {
+  title: "Title",
+  href: "/some/link",
+  description: "Description",
+  imgSrc: "/placeholderImg",
+  imgAlt: "placeholderAlt",
+};
+ 
+WithTag.args = {
+  showTag: true,
+  title: "Title",
+  tag: "experiment_tag",
+  tagLabel: "Experiment tag",
+  description: "Description",
+  href: "/some/link",
+};
+ 
+WithImage.args = {
+  showImage: true,
+  title: "Title",
+  description: "Description",
+  href: "/somelink",
+  imgSrc: Image,
+  imgAlt: "placeholderAlt",
+};
+ 
+WithDate.args = {
+  showDate: true,
+  title: "Title",
+  href: "/somelink",
+  datePosted: "2022-01-01",
+  description: "Description",
+};
+ 
+WithButton.args = {
+  showButton: true,
+  title: "Title",
+  description: "Description",
+  href: "/somelink",
+  btnHref: "/somelink",
+  btnText: "Button text",
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/molecules/Collapse.js.html b/main/coverage/lcov-report/components/molecules/Collapse.js.html new file mode 100644 index 0000000000..369c9a3477 --- /dev/null +++ b/main/coverage/lcov-report/components/molecules/Collapse.js.html @@ -0,0 +1,235 @@ + + + + + + Code coverage report for components/molecules/Collapse.js + + + + + + + + + +
+
+

All files / components/molecules Collapse.js

+
+ +
+ 100% + Statements + 5/5 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 5/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +518x +  +12x +11x +11x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +8x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import PropTypes from "prop-types";
+ 
+export function Collapse({ id = "defaultAccordion", ...props }) {
+  const { title, children } = props;
+  return (
+    <details
+      key={id}
+      id={id}
+      className="mb-[5px] text-multi-neutrals-grey100 leading-[33px]  text-mobileh5 font-body"
+      data-testid="details"
+    >
+      <summary
+        key={`summary-${id}`}
+        data-testid="summary"
+        className="text-multi-blue-blue60d hover:hover:text-multi-blue-blue50b hover:underline border border-multi-neutrals-grey40 rounded px-[15px] py-[5px] cursor-pointer select-none outline-none"
+      >
+        {title}
+      </summary>
+      <div className="border border-multi-neutrals-grey40 rounded-b px-[18px] py-[5px] cursor-pointer select-none outline-none">
+        {children}
+      </div>
+    </details>
+  );
+}
+ 
+Collapse.propTypes = {
+  /**
+   * component id
+   */
+  id: PropTypes.string,
+ 
+  /**
+   * Title of the collapsible header
+   */
+  title: PropTypes.string,
+ 
+  /**
+   * code passed in to fill the expanded area.
+   */
+  children: PropTypes.oneOfType([
+    PropTypes.string,
+    PropTypes.element,
+    PropTypes.arrayOf(PropTypes.element),
+  ]),
+ 
+  /**
+   * Test id for unit test
+   */
+  dataTestId: PropTypes.string,
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/molecules/Collapse.stories.js.html b/main/coverage/lcov-report/components/molecules/Collapse.stories.js.html new file mode 100644 index 0000000000..56fa1f9d2c --- /dev/null +++ b/main/coverage/lcov-report/components/molecules/Collapse.stories.js.html @@ -0,0 +1,193 @@ + + + + + + Code coverage report for components/molecules/Collapse.stories.js + + + + + + + + + +
+
+

All files / components/molecules Collapse.stories.js

+
+ +
+ 90% + Statements + 9/10 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 7/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +371x +1x +  +1x +  +  +  +  +  +  +2x +1x +  +  +  +  +  +  +2x +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from "react";
+import { Collapse } from "./Collapse";
+ 
+export default {
+  title: "Components/Molecules/Collapse",
+  component: Collapse,
+};
+ 
+const Template = (args) => <Collapse {...args} />;
+ 
+export const TextDescription = Template.bind({});
+TextDescription.args = {
+  id: "collapseId",
+  title: "Example title",
+  children: "Example description",
+  dataTestId: "/placeholderImg",
+};
+ 
+export const HtmlDescription = Template.bind({});
+HtmlDescription.args = {
+  id: "collapseId",
+  title: "Example title",
+  children: [
+    <p>First paragraph tag</p>,
+    <p>Second paragprahp tag</p>,
+    <ul>
+      <li>Unorderded list item 1</li>
+      <li>Unorderded list item 2</li>
+    </ul>,
+    <ol>
+      <li>Ordered list item 1</li>
+      <li>Ordered list item 2</li>
+    </ol>,
+  ],
+  dataTestId: "exampleTestId",
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/molecules/ContextualAlert.js.html b/main/coverage/lcov-report/components/molecules/ContextualAlert.js.html new file mode 100644 index 0000000000..879e964fe8 --- /dev/null +++ b/main/coverage/lcov-report/components/molecules/ContextualAlert.js.html @@ -0,0 +1,442 @@ + + + + + + Code coverage report for components/molecules/ContextualAlert.js + + + + + + + + + +
+
+

All files / components/molecules ContextualAlert.js

+
+ +
+ 100% + Statements + 11/11 +
+ + +
+ 81.25% + Branches + 13/16 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 11/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +1203x +  +9x +9x +9x +9x +9x +  +  +  +  +  +  +  +  +  +  +9x +  +  +7x +  +  +  +  +  +  +  +  +7x +  +  +  +  +  +  +  +7x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +3x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import PropTypes from "prop-types";
+ 
+export function ContextualAlert(props) {
+  const warning_img = "/warning_img.svg";
+  const danger_img = "/danger_img.svg";
+  const info_img = "/info_img.svg";
+  const success_img = "/success_img.svg";
+ 
+  const {
+    message_heading,
+    message_body,
+    id,
+    type,
+    alert_icon_id,
+    alert_icon_alt_text,
+    asHtml,
+    whiteBG,
+  } = props;
+ 
+  const alert_type =
+    type === "warning"
+      ? warning_img
+      : type === "danger"
+      ? danger_img
+      : type === "info"
+      ? info_img
+      : success_img;
+ 
+  const alert_color =
+    type === "warning"
+      ? "border-specific-orange-orange50"
+      : type === "danger"
+      ? "border-specific-red-red50b"
+      : type === "info"
+      ? "border-specific-cyan-cyan50"
+      : "border-specific-green-green50a";
+ 
+  let white_BG = whiteBG ? "bg-multi-neutrals-white" : " ";
+ 
+  return (
+    <div
+      id={id}
+      className={`relative min-w-[290px] sm:pl-[24px] pl-[16px] ${white_BG}`}
+    >
+      <div className="absolute top-3 sm:left-3.5 left-1.5 bg-multi-neutrals-white py-4px">
+        {/* change back to image component once fixed */}
+        <img id={alert_icon_id} src={alert_type} alt={alert_icon_alt_text} />
+      </div>
+      <div
+        className={`overflow-auto border-l-6 ${alert_color} pl-[24px] py-[17px] leading-8`}
+      >
+        {asHtml ? (
+          <h2
+            className="mt-0 text-h3 leading-heading3 ml-1"
+            dangerouslySetInnerHTML={{ __html: message_heading }}
+          />
+        ) : (
+          <h2 className="mt-0 text-h3 leading-heading3 ml-1">
+            {message_heading}
+          </h2>
+        )}
+        {asHtml ? (
+          <div
+            className="font-body ml-0.5 text-lg"
+            dangerouslySetInnerHTML={{ __html: message_body }}
+          />
+        ) : (
+          <div className="font-body ml-0.5 text-lg">{message_body}</div>
+        )}
+      </div>
+    </div>
+  );
+}
+ 
+ContextualAlert.propTypes = {
+  /**
+   * component id
+   */
+  id: PropTypes.string.isRequired,
+ 
+  /**
+   * alert type
+   */
+  type: PropTypes.oneOf(["warning", "info", "success", "danger"]).isRequired,
+ 
+  /**
+   * id for the alert icon
+   */
+  alert_icon_id: PropTypes.string.isRequired,
+ 
+  /**
+   * Alternate text for the alert icon
+   */
+  alert_icon_alt_text: PropTypes.string.isRequired,
+ 
+  /**
+   * heading text
+   */
+  message_heading: PropTypes.string.isRequired,
+ 
+  /**
+   * body text
+   */
+  message_body: PropTypes.oneOfType([
+    PropTypes.string,
+    PropTypes.element,
+    PropTypes.arrayOf(PropTypes.element),
+  ]).isRequired,
+ 
+  /**
+   * HTML toggle. Determines if text is parsed as plain text or HTML.
+   */
+  asHtml: PropTypes.bool,
+ 
+  /**
+   * If true the background will be white, default is transparent.
+   */
+  whiteBG: PropTypes.bool,
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/molecules/ContextualAlert.stories.js.html b/main/coverage/lcov-report/components/molecules/ContextualAlert.stories.js.html new file mode 100644 index 0000000000..0acfa2b6e0 --- /dev/null +++ b/main/coverage/lcov-report/components/molecules/ContextualAlert.stories.js.html @@ -0,0 +1,295 @@ + + + + + + Code coverage report for components/molecules/ContextualAlert.stories.js + + + + + + + + + +
+
+

All files / components/molecules ContextualAlert.stories.js

+
+ +
+ 93.33% + Statements + 14/15 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 10/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +711x +1x +  +  +  +  +  +  +4x +2x +2x +2x +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { ContextualAlert } from "./ContextualAlert";
+export default {
+  title: "Components/Molecules/ContextualAlert",
+  component: ContextualAlert,
+};
+ 
+const Template = (args) => <ContextualAlert {...args} />;
+ 
+export const Success = Template.bind({});
+export const Info = Template.bind({});
+export const Warning = Template.bind({});
+export const Danger = Template.bind({});
+ 
+Success.args = {
+  id: "success",
+  type: "success",
+  message_heading: "COVID-19 New services and service changes",
+  message_body: [
+    <p>
+      Find out about new support for Canadians during the COVID-19 pandemic and
+      how Service Canada’s services are affectedFind out about new support for
+      Canadians during the COVID-19 pandemic and how Service Canada’s services
+      are affected
+      <a href="https://healthycanadians.gc.ca/video/suspect-eng.php#trans">
+        Transcript
+      </a>
+    </p>,
+  ],
+  alert_icon_alt_text: "success icon",
+  alert_icon_id: "success icon",
+};
+ 
+Info.args = {
+  id: "info",
+  type: "info",
+  message_heading: "COVID-19 New services and service changes",
+  message_body:
+    "Find out about new support for Canadians during the COVID-19 pandemic and how Service Canada’s services are affectedFind out about new support for Canadians during the COVID-19 pandemic and how Service Canada’s services are affected",
+  alert_icon_alt_text: "info icon",
+  alert_icon_id: "info icon",
+};
+ 
+Warning.args = {
+  id: "warning",
+  type: "warning",
+  message_heading: "COVID-19 New services and service changes",
+  message_body:
+    "Find out about new support for Canadians during the COVID-19 pandemic and how Service Canada’s services are affectedFind out about new support for Canadians during the COVID-19 pandemic and how Service Canada’s services are affected",
+  alert_icon_alt_text: "warning",
+  alert_icon_id: "warning icon",
+};
+ 
+Danger.args = {
+  id: "danger",
+  type: "danger",
+  message_heading: "COVID-19 New services and service changes",
+  message_body: [
+    <p>
+      Find out about new support for Canadians during the COVID-19 pandemic and
+      how Service Canada’s services are affectedFind out about new support for
+      Canadians during the COVID-19 pandemic and how Service Canada’s services
+      are affected
+      <a href="https://healthycanadians.gc.ca/video/suspect-eng.php#trans">
+        Transcript
+      </a>
+    </p>,
+  ],
+  alert_icon_alt_text: "danger icon",
+  alert_icon_id: "danger icon",
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/molecules/CopyToClipboard.js.html b/main/coverage/lcov-report/components/molecules/CopyToClipboard.js.html new file mode 100644 index 0000000000..0daae005de --- /dev/null +++ b/main/coverage/lcov-report/components/molecules/CopyToClipboard.js.html @@ -0,0 +1,478 @@ + + + + + + Code coverage report for components/molecules/CopyToClipboard.js + + + + + + + + + +
+
+

All files / components/molecules CopyToClipboard.js

+
+ +
+ 100% + Statements + 7/7 +
+ + +
+ 75% + Branches + 3/4 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 100% + Lines + 7/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +1322x +2x +2x +  +5x +4x +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +2x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import PropTypes from "prop-types";
+import Clipboard from "react-copy-to-clipboard";
+import { ActionButton } from "../atoms/ActionButton";
+ 
+export function CopyToClipboard({ value = "", type = "text", ...props }) {
+  const ifControlledProps = !props.uncontrolled
+    ? {
+        value: value,
+      }
+    : {};
+  return (
+    <div>
+      <input
+        className={`font-body w-full min-h-40px py-6px px-12px text-center ${props.textFieldStyle}`}
+        id={props.id}
+        aria-describedby={props.describedby}
+        name={props.name}
+        placeholder={props.placeholder}
+        type={type}
+        onChange={(e) => props.onChange(e.currentTarget.value)}
+        {...ifControlledProps}
+        data-testid={props.dataTestId}
+        data-cy={props.dataCy}
+        aria-label={props.aria_label}
+      />
+      <Clipboard text={value}>
+        <ActionButton
+          id={props.buttonId}
+          className={`w-full ${props.buttonStyle}`}
+          onClick={props.onClick}
+        >
+          {props.buttonText}
+        </ActionButton>
+      </Clipboard>
+    </div>
+  );
+}
+ 
+CopyToClipboard.propTypes = {
+  /**
+   * additional css for the component
+   */
+  className: PropTypes.string,
+ 
+  /**
+   * the id of the text field
+   */
+  id: PropTypes.string.isRequired,
+ 
+  /**
+   * the name of the text field
+   */
+  name: PropTypes.string.isRequired,
+ 
+  /**
+   * value of the text field
+   */
+  value: PropTypes.string,
+ 
+  /**
+   * placeholder for the text field,
+   */
+  placeholder: PropTypes.string,
+ 
+  /**
+   * the type of the input
+   */
+  type: PropTypes.string,
+ 
+  /**
+   * call back for when the value of the text field changes
+   */
+  onChange: PropTypes.func,
+ 
+  /**
+   * call back for when the link has been copied
+   */
+  onClick: PropTypes.func,
+ 
+  /**
+   * message to display if there is an error
+   */
+  error: PropTypes.string,
+ 
+  /**
+   * if label should be bold
+   */
+  boldLabel: PropTypes.bool,
+ 
+  /**
+   * boolean flag to specify that this input should be uncontrolled by react
+   */
+  uncontrolled: PropTypes.bool,
+ 
+  /**
+   * unit test selector
+   */
+  dataTestId: PropTypes.string,
+ 
+  /**
+   * cypress tests selector
+   */
+  dataCy: PropTypes.string,
+ 
+  /**
+   * aria-describedby label id
+   */
+  describedby: PropTypes.string,
+ 
+  /**
+   * aria-label
+   */
+  aria_label: PropTypes.string,
+ 
+  /**
+   * Text for ActionButton
+   */
+  buttonText: PropTypes.string,
+  /**
+   * id for ActionButton
+   */
+  buttonId: PropTypes.string,
+  /**
+   * Custom styling for the button
+   */
+  buttonStyle: PropTypes.string,
+  /**
+   * Custom styling for the text field
+   */
+  textFieldStyle: PropTypes.string,
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/molecules/CopyToClipboard.stories.js.html b/main/coverage/lcov-report/components/molecules/CopyToClipboard.stories.js.html new file mode 100644 index 0000000000..20978cbe87 --- /dev/null +++ b/main/coverage/lcov-report/components/molecules/CopyToClipboard.stories.js.html @@ -0,0 +1,151 @@ + + + + + + Code coverage report for components/molecules/CopyToClipboard.stories.js + + + + + + + + + +
+
+

All files / components/molecules CopyToClipboard.stories.js

+
+ +
+ 85.71% + Statements + 6/7 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 5/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +231x +1x +  +1x +  +  +  +  +  +  +5x +  +1x +  +  +  +  +  +  +  +  +  + 
import React from "react";
+import { CopyToClipboard } from "./CopyToClipboard";
+ 
+export default {
+  title: "Components/Molecules/CopyToClipboard",
+  component: CopyToClipboard,
+};
+ 
+const Template = (args) => <CopyToClipboard {...args} />;
+ 
+export const Primary = Template.bind({});
+ 
+Primary.args = {
+  buttonId: "clipboardButton",
+  buttonText: "Copy link",
+  buttonStyle: "ieButton",
+  id: "clipboard",
+  name: "theClipboard",
+  textFieldStyle: "ieTextField",
+  dataTestId: "clipboard-controlled",
+  aria_label: "clipboard",
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/molecules/Details.js.html b/main/coverage/lcov-report/components/molecules/Details.js.html new file mode 100644 index 0000000000..798ca91bf2 --- /dev/null +++ b/main/coverage/lcov-report/components/molecules/Details.js.html @@ -0,0 +1,217 @@ + + + + + + Code coverage report for components/molecules/Details.js + + + + + + + + + +
+
+

All files / components/molecules Details.js

+
+ +
+ 100% + Statements + 3/3 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 3/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +452x +  +  +  +  +11x +  +  +  +  +  +  +  +  +  +  +  +  +2x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import PropTypes from "prop-types";
+ 
+/**
+ * Drop Down Element
+ */
+export function Details(props) {
+  return (
+    <details data-testid={props.dataTestId} data-cy={props.dataCy}>
+      <summary className="max-w-450px w-full bg-details-button-gray focus:ring-inset focus:ring-2 focus:ring-black active:bg-details-button-active-gray hover:bg-details-button-hover-gray rounded py-12px px-5px font-body text-sm text-center text-canada-footer-font cursor-pointer border border-outset border-details-button-gray">
+        {props.label}
+      </summary>
+      <div className="max-w-450px w-full min-h-200px bg-gray-light-200 mt-1 p-15px border border-details-border-gray rounded ring-inset ring-1 ring-gray-light-200">
+        {props.children}
+      </div>
+    </details>
+  );
+}
+ 
+Details.propTypes = {
+  /**
+   * id for the details element
+   */
+  id: PropTypes.string,
+ 
+  /**
+   * the label of the details button
+   */
+  label: PropTypes.string.isRequired,
+ 
+  /**
+   * the content for the details element
+   */
+  children: PropTypes.node,
+ 
+  /**
+   * unit test selector
+   */
+  dataTestId: PropTypes.string,
+ 
+  /**
+   * cypress selector
+   */
+  dataCy: PropTypes.string,
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/molecules/Details.stories.js.html b/main/coverage/lcov-report/components/molecules/Details.stories.js.html new file mode 100644 index 0000000000..35860d4358 --- /dev/null +++ b/main/coverage/lcov-report/components/molecules/Details.stories.js.html @@ -0,0 +1,136 @@ + + + + + + Code coverage report for components/molecules/Details.stories.js + + + + + + + + + +
+
+

All files / components/molecules Details.stories.js

+
+ +
+ 85.71% + Statements + 6/7 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 5/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +181x +1x +  +1x +  +  +  +  +  +  +6x +1x +  +  +  +  +  + 
import React from "react";
+import { Details } from "./Details";
+ 
+export default {
+  title: "Components/Molecules/Details",
+  component: Details,
+};
+ 
+const Template = (args) => <Details {...args} />;
+ 
+export const Primary = Template.bind({});
+Primary.args = {
+  id: "unopenedDetails",
+  label: "A Drop Down",
+  children: "Content",
+  dataTestId: "details",
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/molecules/ErrorBox.js.html b/main/coverage/lcov-report/components/molecules/ErrorBox.js.html new file mode 100644 index 0000000000..6dcf3401fd --- /dev/null +++ b/main/coverage/lcov-report/components/molecules/ErrorBox.js.html @@ -0,0 +1,280 @@ + + + + + + Code coverage report for components/molecules/ErrorBox.js + + + + + + + + + +
+
+

All files / components/molecules ErrorBox.js

+
+ +
+ 100% + Statements + 6/6 +
+ + +
+ 0% + Branches + 0/1 +
+ + +
+ 100% + Functions + 3/3 +
+ + +
+ 100% + Lines + 6/6 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +661x +1x +  +  +  +  +4x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +9x +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import PropTypes from "prop-types";
+import { ActionButton } from "../atoms/ActionButton";
+ 
+/**
+ * error box to be used to summarise error in forms
+ */
+export function ErrorBox({ errors = [], ...props }) {
+  return (
+    <div
+      id="error-box"
+      className="relative border-l-4 border-error-border-red min-h-40px my-10"
+      data-cy="error-box"
+      role="alert"
+      aria-atomic="true"
+    >
+      <span className="icon-error absolute top-1 -left-2.5 bg-white" />
+      <p className="font-bold ml-4 text-p mb-2 lg:text-h4">{props.text}</p>
+      <ul
+        className="w-full list-disc list-outside leading-loose pl-8 text-sm lg:text-p"
+        data-cy="error-box-items"
+        id="error-box-items"
+      >
+        {errors.map(({ id, text }) => {
+          return (
+            <li key={`${id}-${text}`} className="mb-2">
+              <ActionButton
+                id={`${id}-${text}`}
+                custom="font-body hover:text-canada-footer-hover-font-blue text-canada-footer-font underline inline-block text-left"
+                onClick={() => props.onClick(id)}
+                dataCy={`error-item-${id}`}
+                className="" // This is to avoid all the "undefined" class names applied.
+              >
+                {text}
+              </ActionButton>
+            </li>
+          );
+        })}
+      </ul>
+    </div>
+  );
+}
+ 
+ErrorBox.propTypes = {
+  /**
+   * An array of error messages to display. Each object contains the id of the element which
+   * when the text is clicked the browser will scroll too
+   */
+  text: PropTypes.string.isRequired,
+  errors: PropTypes.arrayOf(
+    PropTypes.shape({
+      /**
+       * the id of the element on the page to scroll too
+       */
+      id: PropTypes.string.isRequired,
+      /**
+       * the text to display for the error component
+       */
+      text: PropTypes.string.isRequired,
+    })
+  ),
+  /**
+   * onClick callback
+   */
+  onClick: PropTypes.func,
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/molecules/ErrorBox.stories.js.html b/main/coverage/lcov-report/components/molecules/ErrorBox.stories.js.html new file mode 100644 index 0000000000..f20a21ba36 --- /dev/null +++ b/main/coverage/lcov-report/components/molecules/ErrorBox.stories.js.html @@ -0,0 +1,208 @@ + + + + + + Code coverage report for components/molecules/ErrorBox.stories.js + + + + + + + + + +
+
+

All files / components/molecules ErrorBox.stories.js

+
+ +
+ 85.71% + Statements + 6/7 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 5/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +421x +1x +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +11x +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from "react";
+import { ErrorBox } from "./ErrorBox";
+ 
+export default {
+  title: "Components/Molecules/ErrorBox",
+  component: ErrorBox,
+  decorators: [
+    (Story) => (
+      <div className="w-full flex items-center flex-col">
+        <div className="w-96">
+          <Story />
+        </div>
+        <div id="someid" className="mt-80">
+          Some element with an id
+        </div>
+      </div>
+    ),
+  ],
+};
+ 
+const Template = (args) => <ErrorBox {...args} />;
+ 
+export const Primary = Template.bind({});
+ 
+Primary.args = {
+  text: "The form could not be submitted because three errors were found",
+  errors: [
+    {
+      id: "someid",
+      text: "Some Error 1",
+    },
+    {
+      id: "someid",
+      text: "Some Error 2",
+    },
+    {
+      id: "someid",
+      text: "Some Error 3",
+    },
+  ],
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/molecules/FeedbackWidget.js.html b/main/coverage/lcov-report/components/molecules/FeedbackWidget.js.html new file mode 100644 index 0000000000..60712fa76f --- /dev/null +++ b/main/coverage/lcov-report/components/molecules/FeedbackWidget.js.html @@ -0,0 +1,1006 @@ + + + + + + Code coverage report for components/molecules/FeedbackWidget.js + + + + + + + + + +
+
+

All files / components/molecules FeedbackWidget.js

+
+ +
+ 72.58% + Statements + 45/62 +
+ + +
+ 38.09% + Branches + 8/21 +
+ + +
+ 50% + Functions + 5/10 +
+ + +
+ 71.66% + Lines + 43/60 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +30810x +10x +10x +10x +10x +10x +10x +10x +10x +  +  +  +  +  +10x +  +  +  +  +  +10x +10x +10x +10x +10x +10x +10x +  +10x +  +10x +7x +2x +2x +  +  +  +  +10x +  +  +  +1x +1x +  +  +  +  +1x +1x +  +  +1x +  +  +  +  +  +  +  +10x +10x +10x +  +  +  +  +  +  +  +10x +  +1x +  +1x +  +1x +  +1x +  +1x +  +  +  +  +  +  +1x +  +  +  +1x +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +10x +  +  +  +  +  +  +10x + 
import React, { useEffect, useState, useRef } from "react";
+import PropTypes from "prop-types";
+import { useTranslation } from "next-i18next";
+import { ActionButton } from "../atoms/ActionButton";
+import Joi from "joi";
+import { ErrorLabel } from "../atoms/ErrorLabel";
+import FocusTrap from "focus-trap-react";
+import lockScroll from "react-lock-scroll";
+import { stripFeedback } from "../../lib/utils/stripFeedback";
+ 
+/**
+ * Displays the PhaseBanner on the page
+ */
+ 
+export const FeedbackWidget = ({
+  showFeedback,
+  toggleForm,
+  projectName,
+  path,
+}) => {
+  const [submitted, setSubmitted] = useState(false);
+  const [feedbackClose, setFeedbackClose] = useState(false);
+  const { t } = useTranslation("common");
+  const [response, setResponse] = useState(t("thankYouFeedback"));
+  const email = process.env.NEXT_PUBLIC_NOTIFY_REPORT_A_PROBLEM_EMAIL;
+  const [count, setCount] = useState(2000);
+  var maxLength = 2000;
+ 
+  lockScroll(showFeedback);
+ 
+  useEffect(() => {
+    if (!showFeedback) {
+      setFeedbackError("");
+      setFeedback("");
+    }
+  }, [showFeedback]);
+ 
+  // Joi form validation schema.
+  const formSchema = Joi.object({
+    feedback: Joi.string()
+      .required()
+      .error((errors) => {
+        errors.forEach((error) => {
+          switch (error.code) {
+            case "any.required":
+              error.message = t("feedbackRequired");
+              break;
+            default:
+              error.message = t("feedbackRequired");
+              break;
+          }
+        });
+        return errors;
+      }),
+  });
+ 
+  function setFocusAfterSubmit() {
+    document.getElementById("feedbackButton").focus();
+  }
+ 
+  const [feedback, setFeedback] = useState("");
+  const [feedbackError, setFeedbackError] = useState("");
+  const feedbackObject = useRef({
+    feedbackToSend: {
+      project: "",
+      pageUrl: "",
+      feedback: "",
+    },
+  });
+ 
+  let onSubmitHandler = async (e) => {
+    // prevent default behaviour of form
+    e.preventDefault();
+    // clear out error values
+    await setFeedbackError("");
+    // compile feedback into object to be validated
+    const formData = { feedback };
+    //Strip personal identifier information from feedback
+    var cleanedFeedback = stripFeedback(formData.feedback);
+    // set values in feedback object
+    feedbackObject.current.feedbackToSend = {
+      project: projectName,
+      pageUrl: path,
+      feedback: cleanedFeedback,
+    };
+ 
+    // validate data using Joi schema
+    const { error } = formSchema.validate(formData, {
+      abortEarly: false,
+      allowUnknown: true,
+    });
+    const valid = error === undefined;
+ 
+    Iif (valid) {
+      //Submit data to the api
+      const response = await fetch("/api/feedback", {
+        method: "POST",
+        headers: {
+          "Content-Type": "application/json",
+        },
+        body: JSON.stringify(feedbackObject.current.feedbackToSend),
+      });
+ 
+      // if the response is good, show thank you message
+      if (response.status === 201 || response.status === 200) {
+        await setResponse(t("thankYouFeedback"));
+        setFeedback("");
+        setCount(2000);
+      } else {
+        await setResponse(t("sorryFeedback"));
+      }
+ 
+      setSubmitted(true);
+      setFeedbackClose(false);
+      setFocusAfterSubmit();
+    } else {
+      setFeedbackError(error.message);
+    }
+  };
+ 
+  return (
+    <>
+      {showFeedback ? (
+        <FocusTrap
+          focusTrapOptions={{
+            initialFocus: false,
+            fallbackFocus: "#feedbackClose",
+          }}
+        >
+          <div
+            className="fixed top-0 left-0 w-screen h-full flex justify-center items-center"
+            style={{ background: "rgba(71, 71, 71, 0.8)" }}
+          >
+            <div
+              className="w-auto mx-12 md:mx-24 bg-white shadow-lg border-black border-4"
+              data-testid="feedbackDropdown"
+            >
+              {submitted ? (
+                <div role="status" className="w-full">
+                  {!feedbackClose ? (
+                    <div
+                      className={`${
+                        response === t("thankYouFeedback")
+                          ? "bg-custom-green-darker font-bold"
+                          : "bg-circle-color"
+                      } text-white flex py-2`}
+                    >
+                      <div className="layout-container flex">
+                        <span className="flex flex-col text-xs lg:text-sm font-body mt-2 mb-4 w-full">
+                          {response}
+                          {response === t("sorryFeedback") ? (
+                            <ActionButton
+                              id="link-mail"
+                              ariaLabel="Service Canada email"
+                              dataCy="link-mail"
+                              dataTestId="link-mail"
+                              href={`mailto:${email}`}
+                              text={email}
+                              custom="w-max text-xs lg:text-sm underline outline-none focus:outline-white-solid"
+                            />
+                          ) : (
+                            ""
+                          )}
+                        </span>
+                        <div className="w-1/4 flex justify-end">
+                          <ActionButton
+                            id="feedbackClose"
+                            ariaLabel="Close the expanded feedback section"
+                            dataCy="closeButton"
+                            dataTestId="closeButton"
+                            custom="font-body text-gray-dark-100 flex -py-1 mt-2.5 lg:mt-0 outline-none focus:outline-white-solid items-center"
+                            imageSource="/close-x.svg"
+                            imageAlt="Close button"
+                            imageSpanClass="text-xs text-white leading-4 lg:text-sm underline ml-1 lg:ml-2 lg:leading-10"
+                            imageSpanText={t("close")}
+                            onClick={() => setFeedbackClose(true)}
+                            tabindex="-1"
+                          />
+                        </div>
+                      </div>
+                    </div>
+                  ) : (
+                    ""
+                  )}
+                </div>
+              ) : (
+                ""
+              )}
+              <div className="layout-container text-gray-dark-100 pb-4">
+                <div className="pt-4">
+                  <ActionButton
+                    id="feedbackClose"
+                    ariaLabel="Close the expanded feedback section"
+                    dataCy="closeButton"
+                    dataTestId="closeButton"
+                    custom="flex float-right font-body text-gray-dark-100 flex mt-2.5 lg:mt-0 outline-none focus:outline-white-solid items-center"
+                    imageSource="/close-x.svg"
+                    imageAlt="Close button"
+                    imageSpanClass="text-xs leading-4 lg:text-sm underline ml-2 lg:leading-10"
+                    imageSpanText={t("close")}
+                    onClick={() => {
+                      toggleForm();
+                      setCount(2000);
+                    }}
+                  />
+                </div>
+                <h2 className="text-h4 lg:text-h3 lg:text-sm font-display pt-6 mb-4 w-48 sm:w-auto">
+                  {t("improveService")}
+                </h2>
+                <ul className="list-outside list-disc px-6 pb-3">
+                  <li className="text-xs lg:text-sm pt-2 pb-1 font-body">
+                    <strong>{t("reportAProblemNoReply")}</strong>
+                  </li>
+                  <li className="text-xs lg:text-sm font-body mb-0">
+                    <strong>{t("confidential")}</strong>
+                    <ActionButton
+                      ariaLabel="Privacy page link"
+                      id="link-privacyPage"
+                      dataCy="link-privacyPage"
+                      dataTestId="link-privacyPage"
+                      href={t("privacyLink")}
+                      text={t("reportAProblemPrivacyStatement")}
+                      custom="text-xs lg:text-sm underline ml-2 outline-none focus:outline-white-solid"
+                    />
+                  </li>
+                </ul>
+                <form
+                  data-gc-analytics-formname="ESDC|EDSC:ServiceCanadaLabsFeedback-Form"
+                  data-gc-analytics-collect='[{"value":"input,select","emptyField":"N/A"}]'
+                  className="w-full"
+                  action="#"
+                  onSubmit={onSubmitHandler}
+                  aria-live="polite"
+                >
+                  <label
+                    htmlFor="feedbackTextArea"
+                    className="text-xs lg:text-sm font-body"
+                  >
+                    <b
+                      className="text-error-border-red mr-1"
+                      aria-hidden="true"
+                    >
+                      *
+                    </b>
+                    <b>{t("doBetter")}</b>
+                  </label>
+                  <div id="feedbackInfo">
+                    <p className="text-xs lg:text-sm my-2">
+                      {t("doNotInclude")}
+                    </p>
+                    <p className="text-xs lg:text-sm mb-1 mt-4">
+                      {count}
+                      {t("maximum2000")}
+                    </p>
+                  </div>
+                  {feedbackError ? (
+                    <ErrorLabel
+                      message={feedbackError}
+                      className="text-black mt-4"
+                    />
+                  ) : undefined}
+                  <textarea
+                    aria-describedby="feedbackInfo"
+                    id="feedbackTextArea"
+                    name="feedbackTextArea"
+                    maxLength="2000"
+                    rows="5"
+                    className={
+                      "text-input font-body w-full min-h-40px shadow-sm text-form-input-gray border-2 border-gray-dark-100 my-2 py-6px px-12px rounded"
+                    }
+                    value={feedback}
+                    onChange={(e) => setFeedback(e.currentTarget.value)}
+                    onInput={(e) =>
+                      setCount(maxLength - e.currentTarget.value.length)
+                    }
+                    aria-required="true"
+                  />
+                  <ActionButton
+                    id="feedback-submit"
+                    ariaLabel="Submit feedback"
+                    custom="outline-none focus:outline-black-solid rounded block w-full lg:w-auto lg:px-12 text-xs lg:text-sm py-2 mt-2 font-bold bg-custom-blue-blue text-white border border-custom-blue-blue active:bg-custom-blue-dark hover:bg-custom-blue-light flex justify-center"
+                    type="submit"
+                    dataCy="feedback-submit"
+                    dataTestId="feedback-submit"
+                    text={t("reportAProblemSubmit")}
+                    analyticsTracking
+                  />
+                </form>
+              </div>
+            </div>
+          </div>
+        </FocusTrap>
+      ) : (
+        ""
+      )}
+    </>
+  );
+};
+ 
+FeedbackWidget.propTypes = {
+  /**
+   * This is for showing the feedback component
+   */
+  feedbackActive: PropTypes.bool,
+};
+ 
+export default FeedbackWidget;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/molecules/FeedbackWidget.stories.js.html b/main/coverage/lcov-report/components/molecules/FeedbackWidget.stories.js.html new file mode 100644 index 0000000000..8cf041a25c --- /dev/null +++ b/main/coverage/lcov-report/components/molecules/FeedbackWidget.stories.js.html @@ -0,0 +1,130 @@ + + + + + + Code coverage report for components/molecules/FeedbackWidget.stories.js + + + + + + + + + +
+
+

All files / components/molecules FeedbackWidget.stories.js

+
+ +
+ 85.71% + Statements + 6/7 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 5/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +161x +1x +  +1x +  +  +  +  +  +  +8x +  +1x +  +  + 
import React from "react";
+import FeedbackWidget from "./FeedbackWidget";
+ 
+export default {
+  title: "Components/Molecules/FeedbackWidget",
+  component: FeedbackWidget,
+};
+ 
+const Template = (args) => <FeedbackWidget {...args} />;
+ 
+export const Primary = Template.bind({});
+ 
+Primary.args = {
+  showFeedback: true,
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/molecules/Filter.js.html b/main/coverage/lcov-report/components/molecules/Filter.js.html new file mode 100644 index 0000000000..e775fa88ee --- /dev/null +++ b/main/coverage/lcov-report/components/molecules/Filter.js.html @@ -0,0 +1,298 @@ + + + + + + Code coverage report for components/molecules/Filter.js + + + + + + + + + +
+
+

All files / components/molecules Filter.js

+
+ +
+ 100% + Statements + 5/5 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 100% + Lines + 5/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +721x +1x +  +  +  +  +4x +  +  +  +  +  +  +  +  +  +  +  +  +9x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import PropTypes from "prop-types";
+import { RadioButton } from "../atoms/RadioButton";
+ 
+/**
+ *  Filter Experiments component
+ */
+export function Filter(props) {
+  return (
+    <form
+      className="my-12"
+      data-testid={props.dataTestId}
+      data-cy={props.dataCy}
+    >
+      <fieldset>
+        <legend className="md:float-left font-body pb-3 pt-2 pr-4 text-sm md:text-base">
+          {props.label}
+        </legend>
+        <div className={"flex"}>
+          {props.options.map(({ id, label, checked }, index) => (
+            <RadioButton
+              key={id}
+              label={label}
+              value={id}
+              name={id}
+              id={id}
+              dataTestId={id}
+              dataCy={id}
+              onChange={props.onChange}
+              checked={checked}
+              roundedFront={index === 0}
+              roundedBack={index === props.options.length - 1}
+            />
+          ))}
+        </div>
+      </fieldset>
+    </form>
+  );
+}
+ 
+Filter.propTypes = {
+  /**
+   * options for the filter
+   */
+  options: PropTypes.arrayOf(
+    PropTypes.shape({
+      id: PropTypes.string.isRequired,
+      label: PropTypes.string.isRequired,
+      checked: PropTypes.bool,
+    })
+  ).isRequired,
+ 
+  /**
+   * filter label
+   */
+  label: PropTypes.string,
+ 
+  /**
+   * Action to do on input change
+   */
+  onChange: PropTypes.func,
+ 
+  /**
+   * Test id for unit tests
+   */
+  dataTestId: PropTypes.string,
+ 
+  /**
+   * Test id for cypress test
+   */
+  dataCy: PropTypes.string,
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/molecules/Filter.stories.js.html b/main/coverage/lcov-report/components/molecules/Filter.stories.js.html new file mode 100644 index 0000000000..4363bb5d10 --- /dev/null +++ b/main/coverage/lcov-report/components/molecules/Filter.stories.js.html @@ -0,0 +1,181 @@ + + + + + + Code coverage report for components/molecules/Filter.stories.js + + + + + + + + + +
+
+

All files / components/molecules Filter.stories.js

+
+ +
+ 85.71% + Statements + 6/7 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 5/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +331x +1x +  +1x +  +  +  +  +  +  +12x +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from "react";
+import { Filter } from "./Filter";
+ 
+export default {
+  title: "Components/Molecules/Filter",
+  component: Filter,
+};
+ 
+const Template = (args) => <Filter {...args} />;
+ 
+export const Primary = Template.bind({});
+ 
+Primary.args = {
+  label: "Filter By",
+  options: [
+    {
+      id: "all",
+      label: "All",
+      checked: false,
+    },
+    {
+      id: "coming_soon",
+      label: "Coming Soon",
+      checked: false,
+    },
+    {
+      id: "alpha",
+      label: "Alpha",
+      checked: true,
+    },
+  ],
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/molecules/Heading.js.html b/main/coverage/lcov-report/components/molecules/Heading.js.html new file mode 100644 index 0000000000..7316b7ec97 --- /dev/null +++ b/main/coverage/lcov-report/components/molecules/Heading.js.html @@ -0,0 +1,241 @@ + + + + + + Code coverage report for components/molecules/Heading.js + + + + + + + + + +
+
+

All files / components/molecules Heading.js

+
+ +
+ 100% + Statements + 4/4 +
+ + +
+ 100% + Branches + 2/2 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 4/4 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +538x +  +11x +10x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +8x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import PropTypes from "prop-types";
+ 
+export function Heading(props) {
+  const { title, fromLink, fromText, id, className } = props;
+ 
+  return (
+    <>
+      <h1 className={`mb-0 pb-2 leading-heading1 ${className}`} id={id}>
+        {title}
+      </h1>
+      <div className="mb-11 border-b-[6px] border-b-multi-red-red50a w-[72px]"></div>
+      {fromLink && fromText && (
+        <p className="">
+          <strong>From: </strong>
+          <a
+            href={fromLink}
+            className="underline text-multi-blue-blue70b font-body lg:text-browserh5 font-bold text-mobileh5 leading-[33px] hover:text-multi-blue-blue50b"
+          >
+            {fromText}
+          </a>
+        </p>
+      )}
+    </>
+  );
+}
+ 
+Heading.propTypes = {
+  /**
+   * The text / title that will be displayed as heading
+   */
+  title: PropTypes.string.isRequired,
+  /**
+   * Link that should be dispayed under the main heading level
+   */
+  fromLink: PropTypes.string,
+  /**
+   * Text that will be displyed as text link
+   */
+  fromText: PropTypes.string,
+  /**
+   * css overrides for button
+   */
+  className: PropTypes.string,
+  /**
+   * To identify the heading element
+   */
+  id: PropTypes.string.isRequired,
+  /**
+   * Test id for unit test
+   */
+  dataTestId: PropTypes.string,
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/molecules/Heading.stories.js.html b/main/coverage/lcov-report/components/molecules/Heading.stories.js.html new file mode 100644 index 0000000000..43ac9386e5 --- /dev/null +++ b/main/coverage/lcov-report/components/molecules/Heading.stories.js.html @@ -0,0 +1,154 @@ + + + + + + Code coverage report for components/molecules/Heading.stories.js + + + + + + + + + +
+
+

All files / components/molecules Heading.stories.js

+
+ +
+ 88.88% + Statements + 8/9 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 6/6 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +241x +  +1x +  +  +  +  +  +  +3x +1x +  +1x +  +  +  +  +1x +  +  +  +  +  + 
import { Heading } from "./Heading";
+ 
+export default {
+  title: "Components/Molecules/Heading",
+  component: Heading,
+};
+ 
+const Template = (args) => <Heading {...args} />;
+ 
+export const Default = Template.bind({});
+export const withFromLink = Template.bind({});
+ 
+Default.args = {
+  title: "Default Heading",
+  id: "withoutLink",
+};
+ 
+withFromLink.args = {
+  title: "Heading with from link",
+  fromLink: "https://www.google.com",
+  fromText: "Google",
+  id: "withLink",
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/molecules/List.js.html b/main/coverage/lcov-report/components/molecules/List.js.html new file mode 100644 index 0000000000..e8588e83f3 --- /dev/null +++ b/main/coverage/lcov-report/components/molecules/List.js.html @@ -0,0 +1,208 @@ + + + + + + Code coverage report for components/molecules/List.js + + + + + + + + + +
+
+

All files / components/molecules List.js

+
+ +
+ 100% + Statements + 8/8 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 100% + Lines + 7/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +421x +  +  +  +  +3x +2x +  +  +  +  +8x +  +  +8x +8x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  + 
import PropTypes from "prop-types";
+ 
+/**
+ *  List component
+ */
+export function List(props) {
+  let opacity = 40;
+  return (
+    <ul className={props.className}>
+      {props.items.map((item, key) => {
+        let className =
+          "bg-opacity-" +
+          opacity +
+          " bg-circle-color text-shadow-about-circles flex-shrink-0 mr-4 mb-2 rounded-full h-36 w-36 flex items-center justify-center text-white font-bold font-display text-h1xxl relative md:left-0 -left-14";
+        if (opacity < 100) opacity += 20;
+        return (
+          <li key={key} className="flex">
+            <span className={className} role="presentation">
+              {key + 1}
+            </span>
+            <p className="text-sm md:text-p my-auto leading-normal font-body">
+              {item}
+            </p>
+          </li>
+        );
+      })}
+    </ul>
+  );
+}
+ 
+List.propTypes = {
+  /**
+   * List items
+   */
+  items: PropTypes.arrayOf(String).isRequired,
+ 
+  /**
+   * Option for styling component
+   */
+  className: PropTypes.string,
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/molecules/List.stories.js.html b/main/coverage/lcov-report/components/molecules/List.stories.js.html new file mode 100644 index 0000000000..61cdf94c3d --- /dev/null +++ b/main/coverage/lcov-report/components/molecules/List.stories.js.html @@ -0,0 +1,130 @@ + + + + + + Code coverage report for components/molecules/List.stories.js + + + + + + + + + +
+
+

All files / components/molecules List.stories.js

+
+ +
+ 85.71% + Statements + 6/7 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 5/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +161x +1x +  +1x +  +  +  +  +  +  +5x +  +1x +  +  + 
import React from "react";
+import { List } from "./List";
+ 
+export default {
+  title: "Components/Molecules/List",
+  component: List,
+};
+ 
+const Template = (args) => <List {...args}></List>;
+ 
+export const Primary = Template.bind({});
+ 
+Primary.args = {
+  items: ["Item 1", "Item 2", "Item 3", "Item 4"],
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/molecules/MainBand.js.html b/main/coverage/lcov-report/components/molecules/MainBand.js.html new file mode 100644 index 0000000000..e9b2ea6562 --- /dev/null +++ b/main/coverage/lcov-report/components/molecules/MainBand.js.html @@ -0,0 +1,214 @@ + + + + + + Code coverage report for components/molecules/MainBand.js + + + + + + + + + +
+
+

All files / components/molecules MainBand.js

+
+ +
+ 100% + Statements + 5/5 +
+ + +
+ 100% + Branches + 2/2 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 100% + Lines + 5/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +449x +9x +  +13x +13x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +273x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { Link } from "../atoms/Link";
+import { useTranslation } from "next-i18next";
+ 
+export function MainBand(props) {
+  const { t } = useTranslation("common");
+ 
+  return (
+    <>
+      <h3 className="pt-[22px] text-multi-neutrals-white font-body font-bold text-[19px]">
+        {t("footerTitle")}
+      </h3>
+      <nav
+        className="pb-6"
+        role="navigation"
+        aria-labelledby="accessibleSectionHeader1"
+      >
+        <h2 className="sr-only" id="accessibleSectionHeader1">
+          {t("aboutGovernment")}
+        </h2>
+        <ul className="md:grid md:grid-cols-2 lg:grid-cols-3 flex flex-col gap-1 text-xs ml-0">
+          {props.landscapeLinks.map((key, index) => {
+            return (
+              <li
+                key={key + index}
+                className={`${
+                  index === 0 ? "footerLine pb-[22px] relative" : ""
+                } text-white w-64 sm:w-56 lg:w-80 my-2.5 list-none ml-0 text-xs`}
+              >
+                <Link
+                  id={"LandscapeLink" + index}
+                  href={t(`landscapeLinks.link.${key}`)}
+                  text={t(`landscapeLinks.text.${key}`)}
+                  linkStyle="smfooterWhite"
+                  target={props.target}
+                />
+              </li>
+            );
+          })}
+        </ul>
+      </nav>
+    </>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/molecules/Menu.js.html b/main/coverage/lcov-report/components/molecules/Menu.js.html new file mode 100644 index 0000000000..edd0ed286d --- /dev/null +++ b/main/coverage/lcov-report/components/molecules/Menu.js.html @@ -0,0 +1,448 @@ + + + + + + Code coverage report for components/molecules/Menu.js + + + + + + + + + +
+
+

All files / components/molecules Menu.js

+
+ +
+ 92.85% + Statements + 13/14 +
+ + +
+ 60% + Branches + 6/10 +
+ + +
+ 75% + Functions + 3/4 +
+ + +
+ 92.85% + Lines + 13/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +1221x +1x +1x +1x +  +  +  +  +4x +  +4x +4x +4x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +12x +12x +  +12x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import PropTypes from "prop-types";
+import Link from "next/link";
+import { useRouter } from "next/router";
+import { useState } from "react";
+ 
+/**
+ * Menu component
+ */
+export function Menu(props) {
+  //Router
+  const { asPath } = useRouter();
+  const router = useRouter();
+  const [showMenu, setShowMenu] = useState(false);
+ 
+  return (
+    <nav
+      title="Menu"
+      className="layout-container lg:justify-end lg:flex"
+      data-cy="menu"
+      role="navigation"
+      aria-labelledby="mainSiteNav"
+    >
+      <h3 className="sr-only" id="mainSiteNav">
+        Menu
+      </h3>
+      <div className="flex justify-between">
+        <button
+          id="menuButton"
+          onClick={() => setShowMenu(!showMenu)}
+          className="text-h4 text-canada-footer-font focus:outline-none focus:ring-2 focus:ring-black mb-4 py-1"
+          aria-haspopup="true"
+          aria-expanded={showMenu}
+          aria-controls="menuDropdown"
+          data-testid="menuButton"
+        >
+          <span className="inline-block align-middle icon-menu" />
+          <span className="inline-block align-middle pl-3 font-body text-p leading-none">
+            {props.menuButtonTitle}
+          </span>
+        </button>
+ 
+        <button
+          id="menuClose"
+          onClick={() => setShowMenu(!showMenu)}
+          className={`${
+            showMenu ? "" : "hidden"
+          } sr-only mb-4 text-canada-footer-font outline-none focus:not-sr-only focus:outline-black-solid lg:invisible`}
+          aria-expanded={showMenu}
+          aria-controls="menuDropdown"
+          aria-label="Close the expanded menu options"
+          data-testid="menuCloseButton"
+        >
+          <img src="/close-x-menu.svg" alt="Close button"></img>
+        </button>
+      </div>
+ 
+      <ul
+        id="menuDropdown"
+        className={`menuDropdown mt-2 ${showMenu ? "active" : ""}`}
+        role="menu"
+        aria-expanded={showMenu}
+      >
+        {props.items.map((item, key) => {
+          const exactURL = asPath === item.link; // it's exactly this url
+          const includesURL = asPath.includes(item.link); // it's a child of this url (eg, "/projects/app" includes "/projects")
+ 
+          return (
+            <li
+              key={key}
+              className={`py-3 lg:py-0 cursor-pointer text-custom-blue-projects-link list-none -my-2 -ml-2`}
+              role="menuitem"
+              aria-current={exactURL ? "page" : null}
+            >
+              <Link
+                href={item.link}
+                className={`font-body text-base ${
+                  includesURL
+                    ? router.pathname !== "/signup/privacy"
+                      ? "activePage"
+                      : "menuLink underline"
+                    : "menuLink underline"
+                }`}
+              >
+                {item.text}
+              </Link>
+            </li>
+          );
+        })}
+      </ul>
+    </nav>
+  );
+}
+ 
+Menu.propTypes = {
+  /**
+   * Menu title for small screens
+   */
+  menuButtonTitle: PropTypes.string.isRequired,
+ 
+  /**
+   * text for sign up button
+   */
+  signUpText: PropTypes.string.isRequired,
+ 
+  /**
+   * Array of Items for the menu
+   */
+  items: PropTypes.arrayOf(
+    PropTypes.shape({
+      /**
+       * Text for the menu
+       */
+      text: PropTypes.string,
+ 
+      /**
+       * Link for the menu
+       */
+      link: PropTypes.string,
+    })
+  ).isRequired,
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/molecules/Menu.stories.js.html b/main/coverage/lcov-report/components/molecules/Menu.stories.js.html new file mode 100644 index 0000000000..c9fb015e93 --- /dev/null +++ b/main/coverage/lcov-report/components/molecules/Menu.stories.js.html @@ -0,0 +1,175 @@ + + + + + + Code coverage report for components/molecules/Menu.stories.js + + + + + + + + + +
+
+

All files / components/molecules Menu.stories.js

+
+ +
+ 85.71% + Statements + 6/7 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 5/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +311x +1x +  +1x +  +  +  +  +  +  +6x +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from "react";
+import { Menu } from "./Menu";
+ 
+export default {
+  title: "Components/Molecules/Menu",
+  component: Menu,
+};
+ 
+const Template = (args) => <Menu {...args}></Menu>;
+ 
+export const Primary = Template.bind({});
+ 
+Primary.args = {
+  menuButtonTitle: "Menu",
+  signUpText: "Sign up",
+  items: [
+    {
+      link: "#",
+      text: "Link1",
+    },
+    {
+      link: "#",
+      text: "Link2",
+    },
+    {
+      link: "#",
+      text: "Link3",
+    },
+  ],
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/molecules/OptionalListField.js.html b/main/coverage/lcov-report/components/molecules/OptionalListField.js.html new file mode 100644 index 0000000000..892c6545ab --- /dev/null +++ b/main/coverage/lcov-report/components/molecules/OptionalListField.js.html @@ -0,0 +1,529 @@ + + + + + + Code coverage report for components/molecules/OptionalListField.js + + + + + + + + + +
+
+

All files / components/molecules OptionalListField.js

+
+ +
+ 78.94% + Statements + 15/19 +
+ + +
+ 75% + Branches + 12/16 +
+ + +
+ 100% + Functions + 3/3 +
+ + +
+ 78.94% + Lines + 15/19 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +1491x +1x +1x +1x +  +  +  +  +5x +5x +5x +1x +  +  +1x +  +  +1x +  +  +  +5x +5x +  +  +5x +5x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { useState } from "react";
+import { CheckBox } from "../atoms/CheckBox";
+import { RadioField } from "../atoms/RadioField";
+import PropTypes from "prop-types";
+ 
+/**
+ * An optional list field (radio, checkbox) that is enabled by a checkbox
+ */
+export function OptionalListField({ controlType = "checkbox", ...props }) {
+  let [showListField, setShowListField] = useState(props.checked || false);
+  let handleCheckChange = (wasChecked, name, value) => {
+    Iif (wasChecked) {
+      setShowListField(false);
+    } else {
+      setShowListField(true);
+    }
+ 
+    Iif (props.onControlChange) {
+      props.onControlChange(wasChecked, name, value);
+    }
+  };
+  let sortedChildren = [...props.children].sort((a, b) => {
+    Iif (a.props.label < b.props.label) {
+      return -1;
+    }
+    if (b.props.label < a.props.label) {
+      return 1;
+    }
+    return 0;
+  });
+  return (
+    <>
+      {controlType === "checkbox" ? (
+        <CheckBox
+          label={props.controlLabel}
+          id={props.controlId}
+          name={props.controlName}
+          checked={props.checked}
+          uncontrolled={props.uncontrolled}
+          value={props.controlValue}
+          onChange={handleCheckChange}
+          dataTestId={props.controlDataTestId}
+          required={props.controlRequired}
+          dataCy={props.controlDataCy}
+        />
+      ) : (
+        <RadioField
+          label={props.controlLabel}
+          id={props.controlId}
+          name={props.controlName}
+          checked={props.checked}
+          uncontrolled={props.uncontrolled}
+          value={props.controlValue}
+          onChange={handleCheckChange}
+          required={props.controlRequired}
+          dataTestId={props.controlDataTestId}
+          dataCy={props.controlDataCy}
+        />
+      )}
+      {(props.uncontrolled && showListField) || props.checked ? (
+        <fieldset className="mb-10px">
+          <legend className="block leading-tight text-sm font-body mb-5px font-bold">
+            {props.listFieldRequired ? (
+              <b className="text-error-border-red" aria-hidden="true">
+                *
+              </b>
+            ) : (
+              ""
+            )}
+            {props.listLabel}
+          </legend>
+          <div className="gap-4">{sortedChildren}</div>
+        </fieldset>
+      ) : undefined}
+    </>
+  );
+}
+ 
+OptionalListField.propTypes = {
+  /**
+   * the type of field that should be used
+   */
+  controlType: PropTypes.oneOf(["checkbox", "radiofield"]),
+  /**
+   * the id for the checkbox
+   */
+  controlId: PropTypes.string.isRequired,
+ 
+  /**
+   * the name for the checkbox
+   */
+  controlName: PropTypes.string.isRequired,
+ 
+  /**
+   * the label for the checkbox
+   */
+  controlLabel: PropTypes.string.isRequired,
+ 
+  /**
+   * the value for the checkbox
+   */
+  controlValue: PropTypes.string,
+ 
+  /**
+   * whether or not the checkbox is checked
+   */
+  checked: PropTypes.bool,
+ 
+  /**
+   * boolean flag to denote whether or not the inputs are controlled
+   */
+  uncontrolled: PropTypes.bool,
+ 
+  /**
+   * whether or not the control is required
+   */
+  controlRequired: PropTypes.bool,
+ 
+  /**
+   * the test id for the checkbox to select in unit tests
+   */
+  controlDataTestId: PropTypes.string,
+ 
+  /**
+   * the cypress selector for the checkbox
+   */
+  controlDataCy: PropTypes.string,
+ 
+  /**
+   * callback when the checkbox changes
+   */
+  onControlChange: PropTypes.func,
+ 
+  /**
+   * whether or not the list field is required
+   */
+  listFieldRequired: PropTypes.bool,
+ 
+  /**
+   * list items to display
+   */
+  children: PropTypes.arrayOf(PropTypes.element),
+ 
+  /**
+   * legend text for the list items
+   */
+  listLabel: PropTypes.string,
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/molecules/OptionalListField.stories.js.html b/main/coverage/lcov-report/components/molecules/OptionalListField.stories.js.html new file mode 100644 index 0000000000..031928cbee --- /dev/null +++ b/main/coverage/lcov-report/components/molecules/OptionalListField.stories.js.html @@ -0,0 +1,562 @@ + + + + + + Code coverage report for components/molecules/OptionalListField.stories.js + + + + + + + + + +
+
+

All files / components/molecules OptionalListField.stories.js

+
+ +
+ 90.47% + Statements + 19/21 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +1601x +1x +1x +1x +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +2x +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +2x +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +2x +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +2x +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from "react";
+import { OptionalListField } from "./OptionalListField";
+import { CheckBox } from "../atoms/CheckBox";
+import { RadioField } from "../atoms/RadioField";
+ 
+export default {
+  title: "Components/Molecules/OptionalListField",
+  component: OptionalListField,
+  decorators: [
+    (Story) => (
+      <div className="w-full flex justify-center">
+        <div className="w-96">
+          <Story />
+        </div>
+      </div>
+    ),
+  ],
+};
+ 
+const Template = (args) => <OptionalListField {...args} />;
+ 
+export const UnOpened = Template.bind({});
+UnOpened.args = {
+  controlId: "nutella-check-1",
+  controlName: "nutellaCheckOne",
+  controlLabel: "Do you not like Nutella ?",
+  controlValue: "unopened",
+  controlDataTestId: "unopened-check-1",
+  listLabel: "Please check all the reasons why you are wrong.",
+  children: [
+    <CheckBox
+      key="key1"
+      label="I don't like fake chocolate spread"
+      name="reasons"
+      value="dislike"
+      id="reasons-dislike"
+    />,
+    <CheckBox
+      key="key2"
+      label="I make poor choices"
+      name="reasons"
+      value="poor-choice"
+      id="reasons-poor-choice"
+    />,
+  ],
+};
+ 
+export const Opened_Checkboxes = Template.bind({});
+Opened_Checkboxes.args = {
+  controlId: "nutella-check-1",
+  controlName: "nutellaCheckOne",
+  controlLabel: "Do you not like Nutella ?",
+  checked: true,
+  controlDataTestId: "opened-check-1",
+  listLabel: "Please check all the reasons why you are wrong.",
+  children: [
+    <CheckBox
+      key="key1"
+      label="I don't like fake chocolate spread"
+      name="reasons"
+      value="dislike"
+      id="reasons-dislike"
+      dataTestId="reasons-dislike"
+    />,
+    <CheckBox
+      key="key2"
+      label="I make poor choices"
+      name="reasons"
+      value="poor-choice"
+      id="reasons-poor-choice"
+      dataTestId="reasons-poor-choice"
+    />,
+  ],
+};
+ 
+export const Opened_Radiofields = Template.bind({});
+Opened_Radiofields.args = {
+  controlId: "nutella-check-1",
+  controlName: "nutellaCheckOne",
+  controlLabel: "Do you not like Nutella ?",
+  checked: true,
+  controlDataTestId: "opened-check-1",
+  listLabel: "Please check all the reasons why you are wrong.",
+  children: [
+    <RadioField
+      key="key1"
+      label="I don't like fake chocolate spread"
+      name="reasons"
+      value="dislike"
+      id="reasons-dislike"
+      dataTestId="reasons-dislike"
+    />,
+    <RadioField
+      key="key2"
+      label="I make poor choices"
+      name="reasons"
+      value="poor-choice"
+      id="reasons-poor-choice"
+      dataTestId="reasons-poor-choice"
+    />,
+  ],
+};
+ 
+export const Radio = Template.bind({});
+Radio.args = {
+  controlType: "radiofield",
+  controlId: "nutella-check-1",
+  controlName: "nutellaCheckOne",
+  controlLabel: "Do you not like Nutella ?",
+  checked: true,
+  controlDataTestId: "radio-check-1",
+  listLabel: "Please check all the reasons why you are wrong.",
+  children: [
+    <CheckBox
+      key="key1"
+      label="I don't like fake chocolate spread"
+      name="reasons"
+      value="dislike"
+      id="reasons-dislike"
+      dataTestId="reasons-dislike"
+    />,
+    <CheckBox
+      key="key2"
+      label="I make poor choices"
+      name="reasons"
+      value="poor-choice"
+      id="reasons-poor-choice"
+      dataTestId="reasons-poor-choice"
+    />,
+  ],
+};
+ 
+export const UnControlled = Template.bind({});
+UnControlled.args = {
+  controlId: "nutella-check-1",
+  controlName: "nutellaCheckOne",
+  controlLabel: "Do you not like Nutella ?",
+  uncontrolled: true,
+  controlDataTestId: "uncontrolled-check-1",
+  listLabel: "Please check all the reasons why you are wrong.",
+  children: [
+    <CheckBox
+      key="key1"
+      label="I don't like fake chocolate spread"
+      name="reasons"
+      value="dislike"
+      id="reasons-dislike"
+      dataTestId="reasons-dislike"
+    />,
+    <CheckBox
+      key="key2"
+      label="I make poor choices"
+      name="reasons"
+      value="poor-choice"
+      id="reasons-poor-choice"
+      dataTestId="reasons-poor-choice"
+    />,
+  ],
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/molecules/OptionalTextField.js.html b/main/coverage/lcov-report/components/molecules/OptionalTextField.js.html new file mode 100644 index 0000000000..75f32dc632 --- /dev/null +++ b/main/coverage/lcov-report/components/molecules/OptionalTextField.js.html @@ -0,0 +1,865 @@ + + + + + + Code coverage report for components/molecules/OptionalTextField.js + + + + + + + + + +
+
+

All files / components/molecules OptionalTextField.js

+
+ +
+ 85% + Statements + 17/20 +
+ + +
+ 78.94% + Branches + 15/19 +
+ + +
+ 50% + Functions + 2/4 +
+ + +
+ 85% + Lines + 17/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +2612x +2x +2x +2x +2x +2x +2x +  +  +  +  +54x +55x +55x +55x +55x +3x +  +  +  +3x +3x +  +  +3x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +2x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { useState } from "react";
+import { CheckBox } from "../atoms/CheckBox";
+import { TextField } from "../atoms/TextField";
+import { MultiTextField } from "../atoms/MultiTextField";
+import { RadioField } from "../atoms/RadioField";
+import { useTranslation } from "next-i18next";
+import PropTypes from "prop-types";
+ 
+/**
+ * An optional text box that is enabled by a checkbox
+ */
+export function OptionalTextField({ controlType = "checkbox", ...props }) {
+  let [showTextField, setShowTextField] = useState(props.checked || false);
+  const [expandState, setExpandState] = useState("collapsed");
+  const { t } = useTranslation("common");
+  let handleCheckChange = (wasChecked, name, value) => {
+    Iif (wasChecked) {
+      setShowTextField(false);
+      setExpandState(t("collapsed"));
+    } else {
+      setShowTextField(true);
+      setExpandState(t("expanded"));
+    }
+ 
+    Iif (props.onControlChange) {
+      props.onControlChange(wasChecked, name, value);
+    }
+  };
+  return (
+    <>
+      {controlType === "checkbox" && (
+        <CheckBox
+          label={props.controlLabel}
+          id={props.controlId}
+          name={props.controlName}
+          className={props.checkBoxStyle}
+          checked={props.checked}
+          uncontrolled={props.uncontrolled}
+          value={props.controlValue}
+          onChange={handleCheckChange}
+          dataTestId={props.controlDataTestId}
+          required={props.controlRequired}
+          dataCy={props.controlDataCy}
+          expandState={expandState}
+        />
+      )}
+      {controlType === "radiofield" && (
+        <RadioField
+          label={props.controlLabel}
+          id={props.controlId}
+          name={props.controlName}
+          checked={props.checked}
+          uncontrolled={props.uncontrolled}
+          value={props.controlValue}
+          onChange={handleCheckChange}
+          required={props.controlRequired}
+          dataTestId={props.controlDataTestId}
+          dataCy={props.controlDataCy}
+        />
+      )}
+      {(props.uncontrolled && showTextField) || props.checked ? (
+        props.multiText ? (
+          <MultiTextField
+            label={props.textFieldLabel}
+            placeholder={props.textFieldPlaceHolder}
+            name={props.textFieldName}
+            id={props.textFieldId}
+            value={props.textFieldValue}
+            boldLabel={props.textLabelBold}
+            rows={props.rows}
+            cols={props.cols}
+            spellCheck={props.spellCheck}
+            wrap={props.wrap}
+            required={props.textFieldRequired}
+            onChange={
+              props.onTextFieldChange ? props.onTextFieldChange : () => {}
+            }
+            dataTestId={props.textFieldDataTestId}
+            dataCy={props.textFieldDataCy}
+            error={props.error}
+            describedby={props.describedby}
+          />
+        ) : (
+          <TextField
+            label={props.textFieldLabel}
+            placeholder={props.textFieldPlaceHolder}
+            name={props.textFieldName}
+            id={props.textFieldId}
+            value={props.textFieldValue}
+            boldLabel={props.textLabelBold}
+            uncontrolled={props.uncontrolled}
+            required={props.textFieldRequired}
+            onChange={
+              props.onTextFieldChange ? props.onTextFieldChange : () => {}
+            }
+            dataTestId={props.textFieldDataTestId}
+            describedby={props.describedby}
+            dataCy={props.textFieldDataCy}
+          />
+        )
+      ) : undefined}
+    </>
+  );
+}
+ 
+OptionalTextField.propTypes = {
+  /**
+   * the type of field that should be used
+   */
+  controlType: PropTypes.oneOf(["checkbox", "radiofield"]),
+  /**
+   * the id for the checkbox
+   */
+  controlId: PropTypes.string.isRequired,
+ 
+  /**
+   * the id for the text field
+   */
+  textFieldId: PropTypes.string.isRequired,
+ 
+  /**
+   * the name for the checkbox
+   */
+  controlName: PropTypes.string.isRequired,
+ 
+  /**
+   * the name for the text field
+   */
+  textFieldName: PropTypes.string.isRequired,
+ 
+  /**
+   * the label for the checkbox
+   */
+  controlLabel: PropTypes.string.isRequired,
+ 
+  /**
+   * the label for the text field
+   */
+  textFieldLabel: PropTypes.string.isRequired,
+ 
+  /**
+   * whether or not the text label is bold
+   */
+  textLabelBold: PropTypes.bool,
+ 
+  /**
+   * the value for the checkbox
+   */
+  controlValue: PropTypes.string,
+ 
+  /**
+   * the value for the text field
+   */
+  textFieldValue: PropTypes.string,
+ 
+  /**
+   * text field placeholder
+   */
+  textFieldPlaceHolder: PropTypes.string,
+ 
+  /**
+   * whether or not the checkbox is checked
+   */
+  checked: PropTypes.bool,
+ 
+  /**
+   * boolean flag to denote whether or not the inputs are controlled
+   */
+  uncontrolled: PropTypes.bool,
+ 
+  /**
+   * whether or not the control is required
+   */
+  controlRequired: PropTypes.bool,
+ 
+  /**
+   * whether or not the text field is required
+   */
+  textFieldRequired: PropTypes.bool,
+ 
+  /**
+   * the test id for the checkbox to select in unit tests
+   */
+  controlDataTestId: PropTypes.string,
+ 
+  /**
+   * the test id for the text field to select in unit tests
+   */
+  textFieldDataTestId: PropTypes.string,
+ 
+  /**
+   * the cypress selector for the checkbox
+   */
+  controlDataCy: PropTypes.string,
+ 
+  /**
+   * the cypress selector for the text field
+   */
+  textFieldDataCy: PropTypes.string,
+ 
+  /**
+   * callback when the checkbox changes
+   */
+  onControlChange: PropTypes.func,
+ 
+  /**
+   * callback when the text field changes
+   */
+  onTextFieldChange: PropTypes.func,
+ 
+  /**
+   * whether or not its a multi text field
+   */
+  multiText: PropTypes.bool,
+ 
+  /**
+   * how much lines should the multi text field show
+   */
+  rows: PropTypes.number,
+ 
+  /**
+   * how much columns the multi text field has
+   */
+  cols: PropTypes.number,
+ 
+  /**
+   * the minimum amount of characters for the multi text field
+   */
+  minLength: PropTypes.number,
+ 
+  /**
+   * the maximum amount of characters for the multi text field
+   */
+  maxLength: PropTypes.number,
+ 
+  /**
+   * the wrap preference for the multi text field
+   */
+  wrap: PropTypes.oneOf(["hard", "soft"]),
+ 
+  /**
+   * whether or not to spellcheck for the multi text field
+   */
+  spellCheck: PropTypes.bool,
+ 
+  /**
+   * message to display if there is an error
+   */
+  error: PropTypes.string,
+ 
+  /**
+   * aria-describedby label id
+   */
+  describedby: PropTypes.string,
+ 
+  /**
+   * Styling for checkbox
+   */
+  checkBoxStyle: PropTypes.string,
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/molecules/OptionalTextField.stories.js.html b/main/coverage/lcov-report/components/molecules/OptionalTextField.stories.js.html new file mode 100644 index 0000000000..737e018f68 --- /dev/null +++ b/main/coverage/lcov-report/components/molecules/OptionalTextField.stories.js.html @@ -0,0 +1,340 @@ + + + + + + Code coverage report for components/molecules/OptionalTextField.stories.js + + + + + + + + + +
+
+

All files / components/molecules OptionalTextField.stories.js

+
+ +
+ 84.21% + Statements + 16/19 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 13/13 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +861x +1x +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +1x +  +  +  +  +  +  +  +  +  +  +1x +1x +  +  +  +  +  +  +  +  +  +  +  +2x +1x +  +  +  +  +  +  +  +  +  +  +  +  +2x +1x +  +  +  +  +  +  +  +  +  +  +  +2x +1x +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from "react";
+import { OptionalTextField } from "./OptionalTextField";
+ 
+export default {
+  title: "Components/Molecules/OptionalTextField",
+  component: OptionalTextField,
+  decorators: [
+    (Story) => (
+      <div className="w-full flex justify-center">
+        <div className="w-96">
+          <Story />
+        </div>
+      </div>
+    ),
+  ],
+};
+ 
+const Template = (args) => <OptionalTextField {...args} />;
+ 
+export const UnOpened = Template.bind({});
+UnOpened.args = {
+  controlId: "nutella-check-1",
+  textFieldId: "nutella-text-1",
+  controlName: "nutellaCheckOne",
+  textFieldName: "nutellaTextOne",
+  controlLabel: "Do you not like Nutella ?",
+  textFieldLabel: "Please explain why you are wrong ?",
+  controlDataTestId: "unopened-check-1",
+  textFieldDataTestId: "unopened-text-1",
+};
+ 
+export const Opened = Template.bind({});
+Opened.args = {
+  controlId: "nutella-check-1",
+  textFieldId: "nutella-text-1",
+  controlName: "nutellaCheckOne",
+  textFieldName: "nutellaTextOne",
+  controlLabel: "Do you not like Nutella ?",
+  checked: true,
+  textFieldLabel: "Please explain why you are wrong ?",
+  controlDataTestId: "opened-check-1",
+  textFieldDataTestId: "opened-text-1",
+};
+ 
+export const Radio = Template.bind({});
+Radio.args = {
+  controlType: "radiofield",
+  controlId: "nutella-check-1",
+  textFieldId: "nutella-text-1",
+  controlName: "nutellaCheckOne",
+  textFieldName: "nutellaTextOne",
+  controlLabel: "Do you not like Nutella ?",
+  checked: true,
+  textFieldLabel: "Please explain why you are wrong ?",
+  controlDataTestId: "radio-check-1",
+  textFieldDataTestId: "radio-text-1",
+};
+ 
+export const UnControlled = Template.bind({});
+UnControlled.args = {
+  controlId: "nutella-check-1",
+  textFieldId: "nutella-text-1",
+  controlName: "nutellaCheckOne",
+  textFieldName: "nutellaTextOne",
+  controlLabel: "Do you not like Nutella ?",
+  uncontrolled: true,
+  textFieldLabel: "Please explain why you are wrong ?",
+  controlDataTestId: "uncontrolled-check-1",
+  textFieldDataTestId: "uncontrolled-text-1",
+};
+ 
+export const MultiText = Template.bind({});
+MultiText.args = {
+  controlId: "nutella-check-1",
+  textFieldId: "nutella-text-1",
+  controlName: "nutellaCheckOne",
+  textFieldName: "nutellaTextOne",
+  controlLabel: "Do you not like Nutella ?",
+  uncontrolled: true,
+  multiText: true,
+  rows: 5,
+  textFieldLabel: "Please explain why you are wrong ?",
+  controlDataTestId: "multitext-check-1",
+  textFieldDataTestId: "multitext-text-1",
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/molecules/Quote.js.html b/main/coverage/lcov-report/components/molecules/Quote.js.html new file mode 100644 index 0000000000..de8ce908a6 --- /dev/null +++ b/main/coverage/lcov-report/components/molecules/Quote.js.html @@ -0,0 +1,193 @@ + + + + + + Code coverage report for components/molecules/Quote.js + + + + + + + + + +
+
+

All files / components/molecules Quote.js

+
+ +
+ 100% + Statements + 3/3 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 3/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +371x +  +  +  +  +3x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import PropTypes from "prop-types";
+ 
+/**
+ * Quote component
+ */
+export function Quote(props) {
+  return (
+    <figure
+      title="Quote"
+      className={
+        props.className +
+        " border-l-4 text-sm md:text-p pl-4 leading-normal font-body"
+      }
+    >
+      <blockquote className="max-w-sm">{props.text}</blockquote>
+      <figcaption className="text-gray-500 pt-4"> — {props.author}</figcaption>
+    </figure>
+  );
+}
+ 
+Quote.propTypes = {
+  /**
+   * Option for styling component
+   */
+  className: PropTypes.string,
+ 
+  /**
+   * Quote
+   */
+  text: PropTypes.string,
+ 
+  /**
+   * Author
+   */
+  author: PropTypes.string,
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/molecules/Quote.stories.js.html b/main/coverage/lcov-report/components/molecules/Quote.stories.js.html new file mode 100644 index 0000000000..dd5f4f4a1a --- /dev/null +++ b/main/coverage/lcov-report/components/molecules/Quote.stories.js.html @@ -0,0 +1,133 @@ + + + + + + Code coverage report for components/molecules/Quote.stories.js + + + + + + + + + +
+
+

All files / components/molecules Quote.stories.js

+
+ +
+ 85.71% + Statements + 6/7 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 5/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +171x +1x +  +1x +  +  +  +  +  +  +5x +  +1x +  +  +  + 
import React from "react";
+import { Quote } from "./Quote";
+ 
+export default {
+  title: "Components/Molecules/Quote",
+  component: Quote,
+};
+ 
+const Template = (args) => <Quote {...args}></Quote>;
+ 
+export const Primary = Template.bind({});
+ 
+Primary.args = {
+  text: "Some quote",
+  author: "Author",
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/molecules/SubFooterBand.js.html b/main/coverage/lcov-report/components/molecules/SubFooterBand.js.html new file mode 100644 index 0000000000..cacf699cff --- /dev/null +++ b/main/coverage/lcov-report/components/molecules/SubFooterBand.js.html @@ -0,0 +1,511 @@ + + + + + + Code coverage report for components/molecules/SubFooterBand.js + + + + + + + + + +
+
+

All files / components/molecules SubFooterBand.js

+
+ +
+ 88.88% + Statements + 8/9 +
+ + +
+ 42.85% + Branches + 9/21 +
+ + +
+ 75% + Functions + 3/4 +
+ + +
+ 88.88% + Lines + 8/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +1439x +9x +  +9x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +9x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +9x +13x +  +  +13x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +65x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { Link } from "../atoms/Link";
+import { Image } from "../atoms/Image";
+ 
+const brandLinksDefaultEn = [
+  {
+    href: "https://www.canada.ca/en/social.html",
+    text: "Social media",
+  },
+  {
+    href: "https://www.canada.ca/en/mobile.html",
+    text: "Mobile applications",
+  },
+  {
+    href: "https://www.canada.ca/en/government/about.html",
+    text: "About Canada.ca",
+  },
+  {
+    href: "https://www.canada.ca/en/transparency/terms.html",
+    text: "Terms and conditions",
+  },
+  {
+    href: "https://www.canada.ca/en/transparency/privacy.html",
+    text: "Privacy",
+  },
+];
+ 
+const brandLinksDefaultFr = [
+  {
+    href: "https://www.canada.ca/fr/sociaux.html",
+    text: "Médias sociaux",
+  },
+  {
+    href: "https://www.canada.ca/fr/mobile.html",
+    text: "Applications mobiles",
+  },
+  {
+    href: "https://www.canada.ca/fr/gouvernement/a-propos.html",
+    text: "À propos de Canada.ca",
+  },
+  {
+    href: "https://www.canada.ca/fr/transparence/avis.html",
+    text: "Avis",
+  },
+  {
+    href: "https://www.canada.ca/fr/transparence/confidentialite.html",
+    text: "Confidentialité",
+  },
+];
+ 
+const brandLinksDefaults = (locale) => {
+  return locale === "en" ? brandLinksDefaultEn : brandLinksDefaultFr;
+};
+ 
+export function SubFooterBand(props) {
+  return (
+    <div className="bg-[#F8F8F8]">
+      <div
+        className={`lg:container mx-auto ${
+          props.isAuthenticated ? "min-h-[86px]" : "min-h-[96px]"
+        } ${props.error ? "items-center" : ""} flex justify-between`}
+      >
+        {props.error ? (
+          <div>
+            <a
+              id="top_btn"
+              href={props.btnLink}
+              className="sm:hidden float-left cursor-pointer pr-3"
+            >
+              Top of page / Haut de la page
+            </a>
+            <img src="/upArrow.svg" alt="" className="pt-2 sm:hidden" />
+          </div>
+        ) : (
+          <section className="flex items-center">
+            <nav role="navigation">
+              <ul className="flex flex-col md:flex-row whitespace-nowrap pt-4">
+                {props.brandLinks
+                  ? props.brandLinks.map(({ href, text, onClick }, index) => {
+                      return (
+                        <li
+                          key={index}
+                          className={`${
+                            index === 0 ? "" : "md:list-disc"
+                          } pr-4 mb-[17px] list-inside list-none text-xxs ml-6`}
+                        >
+                          <Link
+                            onClick={onClick ? onClick : undefined}
+                            id={"footerLink" + index}
+                            href={href}
+                            text={text}
+                            linkStyle="smfooterBlue"
+                            target={props.target}
+                          />
+                        </li>
+                      );
+                    })
+                  : brandLinksDefaults(props.locale).map(
+                      ({ href, text }, index) => {
+                        return (
+                          <li
+                            key={index}
+                            className={`${
+                              index === 0 ? "" : "md:list-disc"
+                            } pr-4 mb-[17px] list-inside list-none text-xxs ml-6`}
+                          >
+                            <Link
+                              onClick={
+                                props.onClick ? props.onClick : undefined
+                              }
+                              id={"footerLink" + index}
+                              href={href}
+                              text={text}
+                              linkStyle="smfooterBlue"
+                              target={props.target}
+                            />
+                          </li>
+                        );
+                      }
+                    )}
+              </ul>
+            </nav>
+          </section>
+        )}
+        <div
+          className={`${
+            props.error ? "items-center" : "items-center"
+          } min-h-[96px] flex mr-[5px]`}
+        >
+          <Image
+            className={`${
+              props.error
+                ? "h-[40px] w-auto"
+                : "h-[25px] md:h-[40px] w-full mr-2"
+            } my-[15px]`}
+            src={props.logo}
+            alt="Symbol of the Government of Canada"
+          />
+        </div>
+      </div>
+    </div>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/molecules/TextButtonField.js.html b/main/coverage/lcov-report/components/molecules/TextButtonField.js.html new file mode 100644 index 0000000000..17d3666c8b --- /dev/null +++ b/main/coverage/lcov-report/components/molecules/TextButtonField.js.html @@ -0,0 +1,379 @@ + + + + + + Code coverage report for components/molecules/TextButtonField.js + + + + + + + + + +
+
+

All files / components/molecules TextButtonField.js

+
+ +
+ 100% + Statements + 6/6 +
+ + +
+ 66.66% + Branches + 4/6 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 6/6 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +991x +1x +  +  +  +  +7x +  +  +6x +5x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import PropTypes from "prop-types";
+import { ActionButton } from "../atoms/ActionButton";
+ 
+/**
+ *  component
+ */
+export function TextButtonField(props) {
+  //Verification for styling
+  let secondary;
+  if (props.custom === undefined)
+    props.secondary === undefined
+      ? (secondary = true)
+      : (secondary = props.secondary);
+ 
+  return (
+    <div className={props.className + " mb-4 mx-0"}>
+      {props.html === undefined ? (
+        <div className="textbuttonField">{props.children}</div>
+      ) : (
+        <div
+          className="textbuttonField"
+          dangerouslySetInnerHTML={{ __html: props.html }}
+        />
+      )}
+ 
+      {props.buttonText ? (
+        <ActionButton
+          id={props.idButton}
+          className={"mt-2 text-xs md:text-base"}
+          text={props.buttonText}
+          secondary={secondary}
+          disabled={props.disabled}
+          custom={props.custom}
+          href={props.href}
+          dataCyButton={props.dataCyButton}
+        />
+      ) : (
+        ""
+      )}
+    </div>
+  );
+}
+ 
+TextButtonField.propTypes = {
+  /**
+   * Option for styling component
+   */
+  className: PropTypes.string,
+ 
+  /**
+   * Option for html
+   */
+  html: PropTypes.string,
+ 
+  /**
+   * Contenty
+   */
+  children: PropTypes.oneOfType([
+    PropTypes.string,
+    PropTypes.element,
+    PropTypes.arrayOf(PropTypes.element),
+  ]),
+ 
+  /**
+   * Button id
+   */
+  idButton: PropTypes.string,
+ 
+  /**
+   * Button link
+   */
+  href: PropTypes.string,
+ 
+  /**
+   * Button text
+   */
+  buttonText: PropTypes.string,
+ 
+  /**
+   * Button secondary
+   */
+  secondary: PropTypes.bool,
+ 
+  /**
+   * Button disabled
+   */
+  disabled: PropTypes.bool,
+ 
+  /**
+   * Button custom
+   */
+  custom: PropTypes.string,
+ 
+  /**
+   * Test id for cypress test for the button
+   */
+  dataCyButton: PropTypes.string,
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/molecules/TextButtonField.stories.js.html b/main/coverage/lcov-report/components/molecules/TextButtonField.stories.js.html new file mode 100644 index 0000000000..61055944a3 --- /dev/null +++ b/main/coverage/lcov-report/components/molecules/TextButtonField.stories.js.html @@ -0,0 +1,220 @@ + + + + + + Code coverage report for components/molecules/TextButtonField.stories.js + + + + + + + + + +
+
+

All files / components/molecules TextButtonField.stories.js

+
+ +
+ 93.75% + Statements + 15/16 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 11/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +461x +1x +  +1x +  +  +  +  +  +  +8x +3x +3x +3x +  +1x +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +1x +  +  +  +  +  +  + 
import React from "react";
+import { TextButtonField } from "./TextButtonField";
+ 
+export default {
+  title: "Components/Molecules/TextButtonField",
+  component: TextButtonField,
+};
+ 
+const Template = (args) => <TextButtonField {...args}></TextButtonField>;
+ 
+export const Primary = Template.bind({});
+export const Secondary = Template.bind({});
+export const Disabled = Template.bind({});
+export const Custom = Template.bind({});
+ 
+Primary.args = {
+  title: "Primary",
+  html: "<h1>Title</h1><p>Text</p>",
+  idButton: "Button1",
+  buttonText: "Button",
+  secondary: false,
+};
+ 
+Secondary.args = {
+  title: "Secondary",
+  html: "<h1>Title</h1><p>Text</p>",
+  buttonText: "Button",
+  idButton: "Button2",
+};
+ 
+Disabled.args = {
+  title: "Disabled",
+  html: "<h1>Title</h1><p>Text</p>",
+  buttonText: "Button",
+  idButton: "Button3",
+  disabled: true,
+};
+ 
+Custom.args = {
+  title: "Custom",
+  html: "<h1>Title</h1><p>Text</p>",
+  buttonText: "Button",
+  idButton: "Button4",
+  custom: "bg-red-100",
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/molecules/TopNavBar.js.html b/main/coverage/lcov-report/components/molecules/TopNavBar.js.html new file mode 100644 index 0000000000..2f4458ed63 --- /dev/null +++ b/main/coverage/lcov-report/components/molecules/TopNavBar.js.html @@ -0,0 +1,511 @@ + + + + + + Code coverage report for components/molecules/TopNavBar.js + + + + + + + + + +
+
+

All files / components/molecules TopNavBar.js

+
+ +
+ 58.33% + Statements + 7/12 +
+ + +
+ 15.78% + Branches + 3/19 +
+ + +
+ 25% + Functions + 1/4 +
+ + +
+ 58.33% + Lines + 7/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +1439x +9x +  +5x +  +  +  +  +  +  +  +  +  +3x +3x +  +  +3x +  +  +  +3x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import Link from "next/link";
+import React, { useState } from "react";
+ 
+export function TopNavBar({
+  homeLink,
+  homeLinkLabel,
+  updatesLink,
+  updatesLinkLabel,
+  projectsLink,
+  projectsLinkLabel,
+  navAriaLabel,
+  buttonAriaLabel,
+}) {
+  const [isOpen, setIsOpen] = useState(false);
+  const [isTransitioningClosed, setIsTransitioningClosed] = useState(false);
+ 
+  //Handles the opening and closing of our nav
+  const handleClick = () => {
+    isOpen ? animateCloseMenu() : setIsOpen(!isOpen);
+  };
+ 
+  const animateCloseMenu = () => {
+    setIsTransitioningClosed(true);
+    setTimeout(() => {
+      setIsTransitioningClosed(false);
+      setIsOpen(!isOpen);
+    }, 250);
+  };
+ 
+  return (
+    <nav
+      aria-label={navAriaLabel}
+      className="bg-custom-gray-lightest min-h-[64px] flex justify-end"
+    >
+      {/* Desktop Nav Menu */}
+      <div className="hidden lg:flex w-full self-center justify-between layout-container">
+        <Link href={homeLink} className="font-body font-semibold text-h3">
+          {homeLinkLabel}
+        </Link>
+        <div className="lg:mr-16">
+          <Link href={projectsLink} className="font-body mr-10 text-p">
+            {projectsLinkLabel}
+          </Link>
+          <Link href={updatesLink} className="font-body text-p">
+            {updatesLinkLabel}
+          </Link>
+        </div>
+      </div>
+      {/* Mobile Nav Menu */}
+      <div className="static lg:hidden mt-5 flex flex-col w-full mr-4">
+        <button
+          aria-label={buttonAriaLabel}
+          aria-haspopup="true"
+          aria-expanded={isOpen ? "true" : "false"}
+          aria-controls="menu"
+          onClick={handleClick}
+          className="self-end"
+        >
+          {isOpen ? (
+            <div
+              className={`${
+                isTransitioningClosed ? "fade-out" : "fade-in"
+              } -mt-1 p-1.5`}
+            >
+              <svg
+                width="20"
+                height="20"
+                viewBox="0 0 17 17"
+                fill="none"
+                xmlns="http://www.w3.org/2000/svg"
+                className="exit-icon"
+              >
+                <path d="M11.3775 8.25L16.0683 3.55922C16.6439 2.98359 16.6439 2.05031 16.0683 1.47422L15.0258 0.431719C14.4502 -0.143906 13.5169 -0.143906 12.9408 0.431719L8.25 5.1225L3.55922 0.431719C2.98359 -0.143906 2.05031 -0.143906 1.47422 0.431719L0.431719 1.47422C-0.143906 2.04984 -0.143906 2.98312 0.431719 3.55922L5.1225 8.25L0.431719 12.9408C-0.143906 13.5164 -0.143906 14.4497 0.431719 15.0258L1.47422 16.0683C2.04984 16.6439 2.98359 16.6439 3.55922 16.0683L8.25 11.3775L12.9408 16.0683C13.5164 16.6439 14.4502 16.6439 15.0258 16.0683L16.0683 15.0258C16.6439 14.4502 16.6439 13.5169 16.0683 12.9408L11.3775 8.25Z" />
+              </svg>
+            </div>
+          ) : (
+            <div className={`${isTransitioningClosed ? "fade-in" : ""} -mt-1`}>
+              <svg
+                width="32"
+                height="32"
+                viewBox="0 0 24 24"
+                fill="none"
+                xmlns="http://www.w3.org/2000/svg"
+              >
+                <path
+                  d="M4 18L20 18"
+                  stroke="#000000"
+                  strokeWidth="2"
+                  strokeLinecap="round"
+                />
+                <path
+                  d="M4 12L20 12"
+                  stroke="#000000"
+                  strokeWidth="2"
+                  strokeLinecap="round"
+                />
+                <path
+                  d="M4 6L20 6"
+                  stroke="#000000"
+                  strokeWidth="2"
+                  strokeLinecap="round"
+                />
+              </svg>
+            </div>
+          )}
+        </button>
+        {isOpen ? (
+          <ul
+            id="menu"
+            className={`${
+              isTransitioningClosed ? "fade-out" : "fade-in"
+            } absolute w-full flex flex-col mt-8 pb-4 bg-custom-gray-lightest drop-shadow-xl`}
+          >
+            <li
+              className={`${
+                isTransitioningClosed ? "decrease-margin" : "expand-margin"
+              } my-2 ml-4`}
+            >
+              <Link href={homeLink}>{homeLinkLabel}</Link>
+            </li>
+            <li
+              className={`${
+                isTransitioningClosed ? "decrease-margin" : "expand-margin"
+              } my-2 ml-4`}
+            >
+              <Link href={projectsLink}>{projectsLinkLabel}</Link>
+            </li>
+            <li
+              className={`${
+                isTransitioningClosed ? "decrease-margin" : "expand-margin"
+              } my-2 ml-4`}
+            >
+              <Link href={updatesLink}>{updatesLinkLabel}</Link>
+            </li>
+          </ul>
+        ) : (
+          ""
+        )}
+      </div>
+    </nav>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/molecules/TopNavBar.stories.js.html b/main/coverage/lcov-report/components/molecules/TopNavBar.stories.js.html new file mode 100644 index 0000000000..c66ba50d03 --- /dev/null +++ b/main/coverage/lcov-report/components/molecules/TopNavBar.stories.js.html @@ -0,0 +1,151 @@ + + + + + + Code coverage report for components/molecules/TopNavBar.stories.js + + + + + + + + + +
+
+

All files / components/molecules TopNavBar.stories.js

+
+ +
+ 85.71% + Statements + 6/7 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 5/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +231x +1x +  +1x +  +  +  +  +  +  +6x +  +1x +  +  +  +  +  +  +  +  +  + 
import React from "react";
+import { TopNavBar } from "./TopNavBar";
+ 
+export default {
+  title: "Components/Molecules/TopNavBar",
+  component: TopNavBar,
+};
+ 
+const Template = (args) => <TopNavBar {...args}></TopNavBar>;
+ 
+export const Primary = Template.bind({});
+ 
+Primary.args = {
+  homeLink: "#home",
+  homeLinkLabel: "Home",
+  updatesLink: "#updates",
+  updatesLinkLabel: "Updates",
+  projectsLink: "#projects",
+  projectsLinkLabel: "Projects",
+  navAriaLabel: "nav-aria-label",
+  buttonAriaLabel: "button-aria-label",
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/molecules/index.html b/main/coverage/lcov-report/components/molecules/index.html new file mode 100644 index 0000000000..adf8dd689c --- /dev/null +++ b/main/coverage/lcov-report/components/molecules/index.html @@ -0,0 +1,641 @@ + + + + + + Code coverage report for components/molecules + + + + + + + + + +
+
+

All files components/molecules

+
+ +
+ 86.25% + Statements + 345/400 +
+ + +
+ 57.69% + Branches + 90/156 +
+ + +
+ 75.51% + Functions + 37/49 +
+ + +
+ 90.85% + Lines + 308/339 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
CTA.js +
+
100%6/666.66%2/3100%2/2100%5/5
CTA.stories.js +
+
90%9/10100%0/0100%0/0100%7/7
Card.js +
+
91.66%11/1264.28%9/14100%1/1100%10/10
Card.stories.js +
+
80%16/20100%0/0100%0/0100%14/14
Collapse.js +
+
100%5/5100%1/1100%1/1100%5/5
Collapse.stories.js +
+
90%9/10100%0/0100%0/0100%7/7
ContextualAlert.js +
+
100%11/1181.25%13/16100%1/1100%11/11
ContextualAlert.stories.js +
+
93.33%14/15100%0/0100%0/0100%10/10
CopyToClipboard.js +
+
100%7/775%3/4100%2/2100%7/7
CopyToClipboard.stories.js +
+
85.71%6/7100%0/0100%0/0100%5/5
Details.js +
+
100%3/3100%0/0100%1/1100%3/3
Details.stories.js +
+
85.71%6/7100%0/0100%0/0100%5/5
ErrorBox.js +
+
100%6/60%0/1100%3/3100%6/6
ErrorBox.stories.js +
+
85.71%6/7100%0/0100%0/0100%5/5
FeedbackWidget.js +
+
72.58%45/6238.09%8/2150%5/1071.66%43/60
FeedbackWidget.stories.js +
+
85.71%6/7100%0/0100%0/0100%5/5
Filter.js +
+
100%5/5100%0/0100%2/2100%5/5
Filter.stories.js +
+
85.71%6/7100%0/0100%0/0100%5/5
Heading.js +
+
100%4/4100%2/2100%1/1100%4/4
Heading.stories.js +
+
88.88%8/9100%0/0100%0/0100%6/6
List.js +
+
100%8/8100%1/1100%2/2100%7/7
List.stories.js +
+
85.71%6/7100%0/0100%0/0100%5/5
MainBand.js +
+
100%5/5100%2/2100%2/2100%5/5
Menu.js +
+
92.85%13/1460%6/1075%3/492.85%13/14
Menu.stories.js +
+
85.71%6/7100%0/0100%0/0100%5/5
OptionalListField.js +
+
78.94%15/1975%12/16100%3/378.94%15/19
OptionalListField.stories.js +
+
90.47%19/21100%0/0100%0/0100%15/15
OptionalTextField.js +
+
85%17/2078.94%15/1950%2/485%17/20
OptionalTextField.stories.js +
+
84.21%16/19100%0/0100%0/0100%13/13
Quote.js +
+
100%3/3100%0/0100%1/1100%3/3
Quote.stories.js +
+
85.71%6/7100%0/0100%0/0100%5/5
SubFooterBand.js +
+
88.88%8/942.85%9/2175%3/488.88%8/9
TextButtonField.js +
+
100%6/666.66%4/6100%1/1100%6/6
TextButtonField.stories.js +
+
93.75%15/16100%0/0100%0/0100%11/11
TopNavBar.js +
+
58.33%7/1215.78%3/1925%1/458.33%7/12
TopNavBar.stories.js +
+
85.71%6/7100%0/0100%0/0100%5/5
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/organisms/Feedback.js.html b/main/coverage/lcov-report/components/organisms/Feedback.js.html new file mode 100644 index 0000000000..b1849e635b --- /dev/null +++ b/main/coverage/lcov-report/components/organisms/Feedback.js.html @@ -0,0 +1,481 @@ + + + + + + Code coverage report for components/organisms/Feedback.js + + + + + + + + + +
+
+

All files / components/organisms Feedback.js

+
+ +
+ 62.5% + Statements + 10/16 +
+ + +
+ 80% + Branches + 4/5 +
+ + +
+ 25% + Functions + 1/4 +
+ + +
+ 60% + Lines + 9/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +1338x +8x +8x +8x +  +  +12x +12x +  +12x +12x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +12x + 
import { useState } from "react";
+import Image from "next/image";
+import { useRouter } from "next/router";
+import { useTranslation } from "next-i18next";
+ 
+function Feedback() {
+  const [isSubmitted, setIsSubmitted] = useState(false);
+  const [isProvidingFeedback, setIsProvidingFeedback] = useState(false);
+ 
+  const router = useRouter();
+  const { t } = useTranslation("common");
+ 
+  async function handleSubmit(e) {
+    e.preventDefault();
+    try {
+      await fetch("/api/submit-feedback", {
+        method: "POST",
+        headers: {
+          "Content-Type": "application/json",
+        },
+        body: JSON.stringify(Object.fromEntries(new FormData(e.target))),
+      });
+    } finally {
+      setIsSubmitted(true);
+    }
+  }
+ 
+  return (
+    <div className="sm:flex items-center justify-between gap-20 bg-gray-light-200 p-5 max-w-[568px] border rounded">
+      {isSubmitted && (
+        <div className="flex gap-5 items-center">
+          <Image
+            src="/success_img.svg"
+            alt=""
+            width={25}
+            height={25}
+            style={{ width: 25, height: 25 }}
+            priority
+          ></Image>
+          <p>{t("feedback.thank-you")}</p>
+        </div>
+      )}
+ 
+      {isProvidingFeedback && !isSubmitted && (
+        <form onSubmit={handleSubmit} className="space-y-5">
+          <input type="hidden" name="page" value={router.asPath} />
+          <fieldset>
+            <legend className="font-bold mb-2">
+              {t("feedback.what-was-wrong")}
+            </legend>
+            <label className="flex gap-2">
+              <input
+                type="radio"
+                name="what-was-wrong"
+                value="cant-find-info"
+                required
+              ></input>
+              {t("feedback.cant-find-info")}
+            </label>
+            <label className="flex gap-2">
+              <input
+                type="radio"
+                name="what-was-wrong"
+                value="hard-to-understand"
+              ></input>
+              {t("feedback.hard-to-understand")}
+            </label>
+            <label className="flex gap-2">
+              <input
+                type="radio"
+                name="what-was-wrong"
+                value="there-was-an-error"
+              ></input>
+              {t("feedback.there-was-an-error")}
+            </label>
+            <label className="flex gap-2">
+              <input
+                type="radio"
+                name="what-was-wrong"
+                value="other-reason"
+              ></input>
+ 
+              {t("feedback.other-reason")}
+            </label>
+          </fieldset>
+          <label className="flex flex-col gap-2">
+            <span className="font-bold">
+              {t("feedback.provide-more-details")}
+            </span>
+            <span id="extra-info" className="font-[500] text-xs">
+              {t("feedback.no-protected-info")}
+            </span>
+            <span id="maximum-characters" className="font-[300] text-xs">
+              {t("feedback.maximum-characters")}
+            </span>
+            <textarea
+              name="extra-details"
+              aria-describedby="extra-info maximum-characters"
+              maxLength={300}
+              className="p-1"
+            ></textarea>
+          </label>
+          <button className="bg-multi-blue-blue70 hover:bg-multi-blue-blue60e text-white rounded py-1 px-2">
+            {t("feedback.submit")}
+          </button>
+        </form>
+      )}
+ 
+      {!isSubmitted && !isProvidingFeedback && (
+        <>
+          <p className="font-semibold text-sm">{t("feedback.did-you-find")}</p>
+          <div className="flex gap-2">
+            <button
+              onClick={() => setIsSubmitted(true)}
+              className="bg-multi-blue-blue70 hover:bg-multi-blue-blue60e text-white rounded py-1 px-2"
+            >
+              {t("feedback.yes")}
+            </button>
+            <button
+              onClick={() => setIsProvidingFeedback(true)}
+              className="bg-multi-blue-blue70 hover:bg-multi-blue-blue60e text-white rounded py-1 px-2"
+            >
+              {t("feedback.no")}
+            </button>
+          </div>
+        </>
+      )}
+    </div>
+  );
+}
+ 
+export default Feedback;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/organisms/Footer.js.html b/main/coverage/lcov-report/components/organisms/Footer.js.html new file mode 100644 index 0000000000..65f3079ae2 --- /dev/null +++ b/main/coverage/lcov-report/components/organisms/Footer.js.html @@ -0,0 +1,505 @@ + + + + + + Code coverage report for components/organisms/Footer.js + + + + + + + + + +
+
+

All files / components/organisms Footer.js

+
+ +
+ 100% + Statements + 8/8 +
+ + +
+ 50% + Branches + 2/4 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 7/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141  +9x +9x +9x +9x +  +9x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +14x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +9x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
/* eslint-disable no-prototype-builtins */
+import PropTypes from "prop-types";
+import { MainBand } from "../molecules/MainBand";
+import { SubFooterBand } from "../molecules/SubFooterBand";
+import { Link } from "../atoms/Link";
+ 
+const landscapeLinkKeys = [
+  "contacts",
+  "departments",
+  "about",
+  "jobs",
+  "taxes",
+  "canadaAndWorld",
+  "immigration",
+  "environment",
+  "finance",
+  "travel",
+  "nationalSecurity",
+  "innovation",
+  "business",
+  "culture",
+  "indigenous",
+  "benefit",
+  "policing",
+  "veterans",
+  "health",
+  "transport",
+  "youth",
+];
+ 
+export const Footer = ({
+  error,
+  id,
+  brandLinks,
+  target,
+  onClick,
+  btnLink,
+  preFooterTitle,
+  preFooterLink,
+  preFooterLinkText,
+  lang,
+}) => {
+  return (
+    <footer id={id} data-testid="footer">
+      {preFooterTitle && preFooterLink ? (
+        <div className="bg-multi-blue-blue70c">
+          <div className="lg:container mx-auto px-6 pb-[22px]">
+            <h3 className="pt-[22px] text-multi-neutrals-white font-body font-bold text-[19px]">
+              {preFooterTitle}
+            </h3>
+            <Link
+              id=""
+              href={preFooterLink}
+              text={preFooterLinkText}
+              linkStyle="smfooterWhite"
+            />
+          </div>
+        </div>
+      ) : (
+        ""
+      )}
+      <div
+        className="bg-multi-blue-blue70 bg-no-repeat bg-clip-border sm:bg-right-bottom bg-bottom"
+        style={{
+          backgroundImage: `url(/footer_bg_img.svg)`,
+        }}
+      >
+        <div className="lg:container mx-auto px-6">
+          <MainBand landscapeLinks={landscapeLinkKeys} target={target} />
+        </div>
+      </div>
+      <SubFooterBand
+        locale={lang}
+        container="container"
+        brandLinks={brandLinks}
+        onClick={onClick}
+        target={target}
+        logo="/wmms-blk.svg"
+        error={error}
+        btnLink={btnLink}
+      />
+    </footer>
+  );
+};
+ 
+Footer.propTypes = {
+  /**
+   * id of this component
+   */
+  id: PropTypes.string.isRequired,
+  /**
+   * Add the path Link to the top of your page for the "to the Top" button in mobile
+   */
+  btnLink: PropTypes.string.isRequired,
+ 
+  /**
+   * If true will display the error page version of the footer component
+   */
+  error: PropTypes.bool,
+ 
+  /**
+   * Allow user to pass in their own contact link
+   */
+  contactLink: PropTypes.string,
+ 
+  /**
+   * List of links to display on the footer
+   */
+  brandLinks: PropTypes.arrayOf(
+    PropTypes.shape({
+      id: PropTypes.string,
+      text: PropTypes.string,
+      href: PropTypes.string,
+    }).isRequired
+  ),
+ 
+  /**
+   * Specifies where to open the linked document
+   */
+  target: PropTypes.string,
+ 
+  /**
+   * Handle onclick on the footer media link
+   */
+  onClick: PropTypes.func,
+ 
+  /**
+   * List of menu items to display in dropdown with links
+   */
+  contextualBandLinks: PropTypes.arrayOf(
+    PropTypes.shape({
+      key: PropTypes.string,
+      text: PropTypes.string,
+      link: PropTypes.string,
+    })
+  ),
+  preFooterTitle: PropTypes.string,
+  preFooterLink: PropTypes.string,
+  preFooterLinkText: PropTypes.string,
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/organisms/Footer.stories.js.html b/main/coverage/lcov-report/components/organisms/Footer.stories.js.html new file mode 100644 index 0000000000..bfd95848b3 --- /dev/null +++ b/main/coverage/lcov-report/components/organisms/Footer.stories.js.html @@ -0,0 +1,133 @@ + + + + + + Code coverage report for components/organisms/Footer.stories.js + + + + + + + + + +
+
+

All files / components/organisms Footer.stories.js

+
+ +
+ 85.71% + Statements + 6/7 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 5/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +171x +1x +  +1x +  +  +  +  +  +  +1x +1x +  +  +  +  + 
import React from "react";
+import { Footer } from "./Footer";
+ 
+export default {
+  title: "Components/Organisms/Footer",
+  component: Footer,
+};
+ 
+const Template = (args) => <Footer {...args} />;
+ 
+export const DefaultFooter = Template.bind({});
+DefaultFooter.args = {
+  id: "footer",
+  btnLink: "/",
+  target: "_blank",
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/organisms/HelpIcon.js.html b/main/coverage/lcov-report/components/organisms/HelpIcon.js.html new file mode 100644 index 0000000000..c625351282 --- /dev/null +++ b/main/coverage/lcov-report/components/organisms/HelpIcon.js.html @@ -0,0 +1,313 @@ + + + + + + Code coverage report for components/organisms/HelpIcon.js + + + + + + + + + +
+
+

All files / components/organisms HelpIcon.js

+
+ +
+ 80% + Statements + 8/10 +
+ + +
+ 20% + Branches + 1/5 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 100% + Lines + 7/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +778x +8x +8x +  +10x +9x +9x +9x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { useState } from "react";
+import { Modal } from "react-bootstrap";
+import { DSButton } from "../atoms/DSButton";
+ 
+export const HelpIcon = ({ title, body, lang }) => {
+  const [showModal, setShowModal] = useState(false);
+  const handleClose = () => setShowModal(false);
+  const handleShow = () => setShowModal(true);
+ 
+  return (
+    <>
+      <button
+        onClick={handleShow}
+        className="info"
+        aria-label={`Help button ${title}`}
+        aria-expanded={showModal}
+      >
+        <svg
+          width="26"
+          height="26"
+          viewBox="0 0 26 26"
+          fill="none"
+          xmlns="http://www.w3.org/2000/svg"
+          className="help-icon"
+        >
+          <path d="M26 13C26 20.1813 20.1792 26 13 26C5.8208 26 0 20.1813 0 13C0 5.8229 5.8208 0 13 0C20.1792 0 26 5.8229 26 13ZM13.3489 4.29839C10.4922 4.29839 8.67016 5.50178 7.23943 7.64054C7.05407 7.91763 7.11608 8.29133 7.38175 8.49277L9.20065 9.87193C9.47349 10.0788 9.86223 10.0296 10.0742 9.76069C11.0106 8.57298 11.6527 7.88424 13.078 7.88424C14.1489 7.88424 15.4735 8.57345 15.4735 9.61187C15.4735 10.3969 14.8254 10.8001 13.768 11.3929C12.5349 12.0841 10.9032 12.9445 10.9032 15.0968V15.3065C10.9032 15.6538 11.1849 15.9355 11.5323 15.9355H14.4677C14.8151 15.9355 15.0968 15.6538 15.0968 15.3065V15.2366C15.0968 13.7446 19.4573 13.6825 19.4573 9.64516C19.4573 6.60473 16.3035 4.29839 13.3489 4.29839ZM13 17.2984C11.6704 17.2984 10.5887 18.3801 10.5887 19.7097C10.5887 21.0392 11.6704 22.121 13 22.121C14.3296 22.121 15.4113 21.0392 15.4113 19.7097C15.4113 18.3801 14.3296 17.2984 13 17.2984Z" />
+        </svg>
+      </button>
+ 
+      {showModal && (
+        <div className="modal-bg">
+          <Modal
+            show={showModal}
+            onHide={handleClose}
+            className="modal __variable_a1e2e3 __variable_3e745e"
+            aria-label={title}
+          >
+            <Modal.Header className="modal-header">
+              <h2 className="modal-title">{title}</h2>
+              <button
+                onClick={handleClose}
+                className="modal-exit"
+                aria-label={lang === "en" ? "Close" : "Fermer"}
+              >
+                <svg
+                  width="17"
+                  height="17"
+                  viewBox="0 0 17 17"
+                  fill="none"
+                  xmlns="http://www.w3.org/2000/svg"
+                  className="exit-icon"
+                >
+                  <path d="M11.3775 8.25L16.0683 3.55922C16.6439 2.98359 16.6439 2.05031 16.0683 1.47422L15.0258 0.431719C14.4502 -0.143906 13.5169 -0.143906 12.9408 0.431719L8.25 5.1225L3.55922 0.431719C2.98359 -0.143906 2.05031 -0.143906 1.47422 0.431719L0.431719 1.47422C-0.143906 2.04984 -0.143906 2.98312 0.431719 3.55922L5.1225 8.25L0.431719 12.9408C-0.143906 13.5164 -0.143906 14.4497 0.431719 15.0258L1.47422 16.0683C2.04984 16.6439 2.98359 16.6439 3.55922 16.0683L8.25 11.3775L12.9408 16.0683C13.5164 16.6439 14.4502 16.6439 15.0258 16.0683L16.0683 15.0258C16.6439 14.4502 16.6439 13.5169 16.0683 12.9408L11.3775 8.25Z" />
+                </svg>
+              </button>
+            </Modal.Header>
+            <Modal.Body>
+              <p
+                className="modal-body"
+                dangerouslySetInnerHTML={{ __html: body }}
+              />
+            </Modal.Body>
+            <Modal.Footer>
+              <DSButton
+                onClick={handleClose}
+                styling="primary"
+                text={lang === "en" ? "Close" : "Fermer"}
+                className="modal-close"
+              />
+            </Modal.Footer>
+          </Modal>
+        </div>
+      )}
+    </>
+  );
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/organisms/HelpIcon.stories.js.html b/main/coverage/lcov-report/components/organisms/HelpIcon.stories.js.html new file mode 100644 index 0000000000..853dcb25c4 --- /dev/null +++ b/main/coverage/lcov-report/components/organisms/HelpIcon.stories.js.html @@ -0,0 +1,178 @@ + + + + + + Code coverage report for components/organisms/HelpIcon.stories.js + + + + + + + + + +
+
+

All files / components/organisms HelpIcon.stories.js

+
+ +
+ 76.92% + Statements + 10/13 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 9/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +321x +1x +  +1x +  +  +  +  +  +  +1x +1x +1x +  +1x +  +  +  +  +  +1x +  +  +  +  +  +1x +  +  +  +  + 
import * as React from "react";
+import { HelpIcon } from "./HelpIcon";
+ 
+export default {
+  title: "Components/Organisms/HelpIcon",
+  component: HelpIcon,
+};
+ 
+const Template = (args) => <HelpIcon {...args} />;
+ 
+export const Default = Template.bind({});
+export const SampleEN = Template.bind({});
+export const SampleFR = Template.bind({});
+ 
+Default.args = {
+  lang: "en",
+  title: "Descriptive title / Term requiring explanation",
+  body: "Description",
+};
+ 
+SampleEN.args = {
+  lang: "en",
+  title: "Separated",
+  body: "You are separated when you start living separate and apart from your spouse or common law partner because of a breakdown in the relationship for a period of at least 90 days.<br><br>Refer to marital status for more information",
+};
+ 
+SampleFR.args = {
+  lang: "fr",
+  title: "Séparé",
+  body: "Vous êtes considéré séparé lorsque vous vivez séparément de votre époux ou conjoint en raison de la rupture de votre union pour une période de 90 jours ou plus.<br><br>Voir état civil pour plus d’information",
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/organisms/Layout.js.html b/main/coverage/lcov-report/components/organisms/Layout.js.html new file mode 100644 index 0000000000..066b055c61 --- /dev/null +++ b/main/coverage/lcov-report/components/organisms/Layout.js.html @@ -0,0 +1,814 @@ + + + + + + Code coverage report for components/organisms/Layout.js + + + + + + + + + +
+
+

All files / components/organisms Layout.js

+
+ +
+ 100% + Statements + 17/17 +
+ + +
+ 63.63% + Branches + 14/22 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 16/16 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +2448x +8x +8x +8x +8x +8x +8x +8x +8x +8x +  +  +  +  +15x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +12x +12x +12x +  +  +  +  +12x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +8x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import PropTypes from "prop-types";
+import { Banner } from "../atoms/Banner";
+import { PhaseBanner } from "./PhaseBanner";
+import Link from "next/link";
+import { useTranslation } from "next-i18next";
+import { DateModified } from "../atoms/DateModified";
+import { Breadcrumb } from "../atoms/Breadcrumb";
+import { Footer } from "../organisms/Footer";
+import Feedback from "./Feedback";
+import { TopNavBar } from "../molecules/TopNavBar";
+ 
+/**
+ * Component which defines the layout of the page for all screen sizes
+ */
+export const Layout = ({
+  bannerText,
+  bannerTitle,
+  children,
+  locale,
+  langUrl,
+  breadcrumbItems,
+  feedbackActive,
+  showDisclaimer,
+  projectName,
+  path,
+  excludeFooterFeedback,
+  preFooterTitle,
+  preFooterLink,
+  preFooterLinkText,
+  dateModifiedOverride,
+}) => {
+  const { t } = useTranslation("common");
+  const language = locale === "en" ? "fr" : "en";
+  path =
+    typeof window !== "undefined" && window.location.origin
+      ? window.location.href
+      : "";
+ 
+  const isTopNavBarActive = false;
+ 
+  return (
+    <div className="overflow-x-hidden">
+      <nav className="skip-main" aria-label={t("skipToMainContentBtn")}>
+        <a
+          id="skipToMainContent"
+          className="bg-white text-custom-blue-dark text-lg underline py-1 px-2 focus:outline-dark-goldenrod hover:bg-gray-dark"
+          href="#pageMainTitle"
+          data-cy-button={"skip-Content"}
+          draggable="false"
+          aria-label={t("skipToMainContentBtn")}
+        >
+          {t("skipToMainContentBtn")}
+        </a>
+      </nav>
+      <header>
+        <h2 className="sr-only">{t("globalHeader")}</h2>
+        <h3 className="sr-only">{t("testSiteNotice")}</h3>
+        {showDisclaimer ? (
+          <PhaseBanner
+            phase={t("phaseBannerTag")}
+            feedbackActive={feedbackActive}
+            text={t("phaseBannerText")}
+            projectName={projectName}
+            path={path}
+          />
+        ) : (
+          ""
+        )}
+        <div className="layout-container lg:max-w-full pt-4 pb-3 !mx-0 !px-5 flex-col flex lg:flex lg:flex-row justify-between bg-custom-gray-lightest">
+          <div
+            className="flex flex-row justify-between"
+            role="navigation"
+            aria-labelledby="officialSiteNav"
+          >
+            <h3 className="sr-only" id="officialSiteNav">
+              {t("officialSiteNavigation")}
+            </h3>
+            <a href="https://www.canada.ca">
+              <img
+                src={language === "en" ? "/sig-blk-fr.svg" : "/sig-blk-en.svg"}
+                alt={t("symbol")}
+                width="375"
+                height="35"
+                className="max-w-[280px]"
+              />
+            </a>
+            <h3 className="sr-only">{t("languageSelection")}</h3>
+            <Link
+              key={language}
+              href={langUrl}
+              locale={language}
+              data-testid="languageLink1"
+              className="block lg:hidden ml-6 -mt-1 sm:ml-16 underline underline-offset-[6px] font-body text-canada-footer-font lg:text-sm text-lg hover:text-canada-footer-hover-font-blue"
+            >
+              {language === "en" ? "EN" : "FR"}
+            </Link>
+          </div>
+          <div className="flex flex-col justify-center">
+            <Link
+              key={language}
+              href={langUrl}
+              locale={language}
+              data-testid="languageLink3"
+              className="flex lg:block hidden underline underline-offset-[5px] font-body text-canada-footer-font hover:text-canada-footer-hover-font-blue"
+              data-cy="toggle-language-link"
+              lang={language}
+            >
+              {language === "en" ? "English" : "Français"}
+            </Link>
+          </div>
+        </div>
+        <div className="border-b-[3px] border-multi-blue-blue35" />
+        {isTopNavBarActive ? (
+          <TopNavBar
+            homeLink={t("topNavBar.homeLink")}
+            homeLinkLabel={t("topNavBar.homeLinkLabel")}
+            updatesLink={t("topNavBar.updatesLink")}
+            updatesLinkLabel={t("topNavBar.updatesLinkLabel")}
+            projectsLink={t("topNavBar.projectsLink")}
+            projectsLinkLabel={t("topNavBar.projectsLinkLabel")}
+            navAriaLabel={t("topNavBar.ariaLabel")}
+            buttonAriaLabel={t("topNavBar.buttonAriaLabel")}
+          />
+        ) : null}
+        <div className="layout-container mt-4">
+          <Breadcrumb items={breadcrumbItems} />
+        </div>
+      </header>
+ 
+      {bannerText && bannerTitle ? (
+        <Banner siteTitle={bannerTitle} headline={bannerText} />
+      ) : null}
+      {children}
+      <div className="mt-12">
+        <h2 className="sr-only">{t("siteFooter")}</h2>
+        {!excludeFooterFeedback ? (
+          <div className="layout-container mt-5">
+            <Feedback />
+          </div>
+        ) : (
+          ""
+        )}
+        <div className="layout-container mb-2">
+          <DateModified date={dateModifiedOverride} />
+        </div>
+      </div>
+ 
+      <Footer
+        id="footer"
+        lang={locale}
+        btnLink={"#"}
+        preFooterTitle={preFooterTitle}
+        preFooterLink={preFooterLink}
+        preFooterLinkText={preFooterLinkText}
+      />
+    </div>
+  );
+};
+ 
+Layout.propTypes = {
+  /**
+   * text for the banner
+   */
+  bannerText: PropTypes.string,
+ 
+  /**
+   * title of the banner
+   */
+  bannerTitle: PropTypes.string,
+ 
+  /**
+   * child elements that will constitute the page
+   */
+  children: PropTypes.oneOfType([
+    PropTypes.string,
+    PropTypes.element,
+    PropTypes.arrayOf(PropTypes.element),
+  ]),
+ 
+  /**
+   * currently active locale
+   */
+  locale: PropTypes.string,
+ 
+  /**
+   * URL to use for navigation when changing locales
+   */
+  langUrl: PropTypes.string,
+ 
+  /**
+   * Array of Items for the breadcrumb
+   */
+  breadcrumbItems: PropTypes.arrayOf(
+    PropTypes.shape({
+      /**
+       * Text for the breadcrumb
+       */
+      text: PropTypes.string,
+ 
+      /**
+       * Link for the breadcrumb
+       */
+      link: PropTypes.string,
+    })
+  ),
+ 
+  /**
+   * For activating feedback on active projects pages
+   */
+  feedbackActive: PropTypes.bool,
+  /**
+   * Boolean that determines whether the disclaimer at the top of the screen is shown or not
+   */
+  showDisclaimer: PropTypes.bool,
+  /**
+   * Project/page name that feedback is coming from
+   */
+  projectName: PropTypes.string,
+  /**
+   * Path that the feedback is coming from
+   */
+  path: PropTypes.string,
+  /**
+   * Boolean that determines whether the footer feedback is shown or not
+   */
+  excludeFooterFeedback: PropTypes.bool,
+  /**
+   * Title for the pre-footer
+   */
+  preFooterTitle: PropTypes.string,
+  /**
+   * URL for the pre-footer link
+   */
+  preFooterLink: PropTypes.string,
+  /**
+   * Text for the pre-footer link
+   */
+  preFooterLinkText: PropTypes.string,
+  /**
+   * Manual override for date modified component
+   */
+  dateModifiedOverride: PropTypes.string,
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/organisms/Layout.stories.js.html b/main/coverage/lcov-report/components/organisms/Layout.stories.js.html new file mode 100644 index 0000000000..4153ff078e --- /dev/null +++ b/main/coverage/lcov-report/components/organisms/Layout.stories.js.html @@ -0,0 +1,199 @@ + + + + + + Code coverage report for components/organisms/Layout.stories.js + + + + + + + + + +
+
+

All files / components/organisms Layout.stories.js

+
+ +
+ 90.9% + Statements + 10/11 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 8/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +391x +1x +  +1x +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +6x +4x +  +1x +  +  +  +  +1x +  +  +  +  +  + 
import React from "react";
+import { Layout } from "./Layout";
+ 
+export default {
+  title: "Components/Organisms/Layout",
+  component: Layout,
+};
+ 
+const sampleText = () => {
+  return (
+    <p data-testid="child-element">
+      Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
+      tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim
+      veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea
+      commodo consequat. Duis aute irure dolor in reprehenderit in voluptate
+      velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat
+      cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id
+      est laborum.
+    </p>
+  );
+};
+ 
+const Template = (args) => <Layout {...args}>{sampleText()}</Layout>;
+ 
+export const NoBanner = Template.bind({});
+export const WithBanner = Template.bind({});
+ 
+NoBanner.args = {
+  langUrl: "someUrl",
+  locale: "someLocale",
+};
+ 
+WithBanner.args = {
+  bannerTitle: "Banner Title",
+  bannerText: "Banner Text",
+  langUrl: "someUrl",
+  locale: "someLocale",
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/organisms/PhaseBanner.js.html b/main/coverage/lcov-report/components/organisms/PhaseBanner.js.html new file mode 100644 index 0000000000..927ff153af --- /dev/null +++ b/main/coverage/lcov-report/components/organisms/PhaseBanner.js.html @@ -0,0 +1,490 @@ + + + + + + Code coverage report for components/organisms/PhaseBanner.js + + + + + + + + + +
+
+

All files / components/organisms PhaseBanner.js

+
+ +
+ 88.88% + Statements + 16/18 +
+ + +
+ 87.5% + Branches + 7/8 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 93.75% + Lines + 15/16 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +1369x +9x +9x +  +9x +9x +  +  +  +  +  +9x +  +  +  +  +  +  +  +3x +3x +3x +  +3x +1x +  +  +1x +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +9x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +9x + 
import React from "react";
+import PropTypes from "prop-types";
+import { useTranslation } from "next-i18next";
+import { useState, useRef } from "react";
+import { FeedbackWidget } from "../molecules/FeedbackWidget";
+import { ActionButton } from "../atoms/ActionButton";
+ 
+/**
+ * Displays the PhaseBanner on the page
+ */
+ 
+export const PhaseBanner = ({
+  phase,
+  text,
+  feedbackActive,
+  projectName,
+  path,
+  toggleForm,
+}) => {
+  const [showFeedback, setShowFeedback] = useState(false);
+  const { t } = useTranslation("common");
+  const toggle = useRef("Collapsed");
+ 
+  toggleForm = async (e) => {
+    Iif (showFeedback) {
+      toggle.current = "Collapsed";
+    } else {
+      toggle.current = "Expanded";
+    }
+ 
+    setShowFeedback(!showFeedback);
+  };
+ 
+  return (
+    <>
+      <div className="bg-multi-blue-blue70d">
+        <div className="block lg:flex py-4 layout-container">
+          <div
+            className={`flex justify-between lg:block lg:w-max ${
+              feedbackActive ? "mt-2" : ""
+            }`}
+          >
+            <span
+              className="font-body text-s text-white border-2 block w-max px-4 py-1 my-auto leading-6 items-center"
+              role="alert"
+            >
+              {phase}
+            </span>
+            {feedbackActive ? (
+              <ActionButton
+                id="back-projects"
+                dataCy="back-projects"
+                dataTestId="back-projects"
+                custom="font-body w-max text-xs underline text-white block outline-none focus:outline-white-solid h-full flex items-center -mt-2 py-2"
+                text={t("backProjects")}
+                href={t("breadCrumbsHref2")}
+              />
+            ) : (
+              ""
+            )}
+          </div>
+          <div>
+            <p className="mt-2 lg:mt-0 h-full font-body text-xs lg:text-sm text-white lg:ml-4 my-auto flex items-center">
+              {text}
+            </p>
+          </div>
+        </div>
+        {feedbackActive ? (
+          <div className="py-4 outline-none bg-custom-blue-blue font-body text-xs lg:text-sm text-white flex items-center lg:my-0">
+            <div className="flex layout-container">
+              <span
+                className="invisible hidden md:block font-body text-xs text-white border block w-max px-4 py-1 my-auto leading-6 items-center"
+                role="alert"
+              >
+                {phase}
+              </span>
+              <div className="lg:ml-6 xl:ml-12 xxl:ml-14 my-auto">
+                <button
+                  id="feedbackButton"
+                  onClick={toggleForm}
+                  className="flex focus:outline-white-solid items-center lg:ml-4 my-auto"
+                  data-testid="feedbackButton"
+                >
+                  <strong className="underline">
+                    {t("giveFeedback")}
+                    <span className="sr-only">{toggle.current}</span>
+                  </strong>
+                  <img
+                    className="px-2 flex items-center"
+                    src="/feedback-icon-white.svg"
+                    alt=""
+                  />
+                </button>
+              </div>
+            </div>
+          </div>
+        ) : (
+          ""
+        )}
+      </div>
+ 
+      <FeedbackWidget
+        showFeedback={showFeedback}
+        toggleForm={toggleForm}
+        projectName={projectName}
+        path={path}
+      />
+    </>
+  );
+};
+ 
+PhaseBanner.propTypes = {
+  /**
+   * Phase stage in the PhaseBanner
+   */
+  phase: PropTypes.string.isRequired,
+  /**
+   * Phasebanner text
+   */
+  text: PropTypes.string.isRequired,
+  /**
+   * This is for showing the feedback component
+   */
+  feedbackActive: PropTypes.bool,
+  /**
+   * Project/page name that feedback is coming from
+   */
+  projectName: PropTypes.string,
+  /**
+   * Path that the feedback is coming from
+   */
+  path: PropTypes.string,
+};
+ 
+export default PhaseBanner;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/organisms/PhaseBanner.stories.js.html b/main/coverage/lcov-report/components/organisms/PhaseBanner.stories.js.html new file mode 100644 index 0000000000..59c478696b --- /dev/null +++ b/main/coverage/lcov-report/components/organisms/PhaseBanner.stories.js.html @@ -0,0 +1,154 @@ + + + + + + Code coverage report for components/organisms/PhaseBanner.stories.js + + + + + + + + + +
+
+

All files / components/organisms PhaseBanner.stories.js

+
+ +
+ 90% + Statements + 9/10 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 7/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +241x +1x +  +1x +  +  +  +  +  +  +2x +2x +  +1x +  +  +  +  +1x +  +  +  +  + 
import React from "react";
+import PhaseBanner from "./PhaseBanner";
+ 
+export default {
+  title: "Components/Atoms/PhaseBanner",
+  component: PhaseBanner,
+};
+ 
+const Template = (args) => <PhaseBanner {...args} />;
+ 
+export const Primary = Template.bind({});
+export const WithFeedback = Template.bind({});
+ 
+Primary.args = {
+  phase: "PhaseBanner Phase",
+  text: "PhaseBanner Text",
+};
+ 
+WithFeedback.args = {
+  phase: "PhaseBanner Phase",
+  text: "PhaseBanner Text",
+  feedbackActive: true,
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/organisms/ReportAProblem.js.html b/main/coverage/lcov-report/components/organisms/ReportAProblem.js.html new file mode 100644 index 0000000000..69311c3062 --- /dev/null +++ b/main/coverage/lcov-report/components/organisms/ReportAProblem.js.html @@ -0,0 +1,1219 @@ + + + + + + Code coverage report for components/organisms/ReportAProblem.js + + + + + + + + + +
+
+

All files / components/organisms ReportAProblem.js

+
+ +
+ 94.87% + Statements + 37/39 +
+ + +
+ 90% + Branches + 9/10 +
+ + +
+ 66.66% + Functions + 2/3 +
+ + +
+ 94.73% + Lines + 36/38 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +3791x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +7x +9x +8x +  +8x +  +8x +  +3x +  +  +3x +3x +24x +21x +1x +  +  +  +  +  +3x +  +3x +  +  +3x +5x +5x +  +  +  +3x +3x +  +  +  +3x +  +  +  +  +  +  +  +  +  +  +3x +  +  +  +  +  +  +  +  +  +  +3x +21x +  +  +  +3x +  +  +  +  +  +  +  +  +  +  +  +  +3x +1x +  +  +3x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  + 
import PropTypes from "prop-types";
+import Link from "next/link";
+import { useState } from "react";
+import { useTranslation } from "next-i18next";
+import { OptionalTextField } from "../molecules/OptionalTextField";
+import { Details } from "../molecules/Details";
+import { ActionButton } from "../atoms/ActionButton";
+import { stripFeedback } from "../../lib/utils/stripFeedback";
+import { ErrorLabel } from "../atoms/ErrorLabel";
+ 
+/**
+ * Report a problem button to report technical issues on the page.
+ */
+export function ReportAProblem(props) {
+  const [submitted, setSubmitted] = useState(false);
+  const { t, i18n } = useTranslation();
+ 
+  const [submittedOnce, setSubmittedOnce] = useState(false);
+ 
+  let onSubmitHandler = (e) => {
+    //Checking if at least one checkbox is selected
+    let checkBoxSelected = false;
+ 
+    //Check the checkboxes
+    let inputElements = document.getElementsByTagName("input");
+    for (let index = 0; index < inputElements.length; index++) {
+      if (inputElements[index].type == "checkbox") {
+        if (inputElements[index].checked) {
+          checkBoxSelected = true;
+        }
+      }
+    }
+ 
+    // prevent default behaviour of form
+    e.preventDefault();
+    // create FormData object from form
+    const formData = new FormData(e.target);
+ 
+    // Iterate through key/value pairs and strip personal identifier information from each value
+    for (var pair of formData.entries()) {
+      let cleanedFeedback = stripFeedback(pair[1]);
+      formData.set(pair[0], cleanedFeedback);
+    }
+    // create URLSearchParams object from FormData object
+    // this will be used to create url encoded string of names and values of the form fields
+    const urlEncoded = new URLSearchParams(formData);
+    let urlString = urlEncoded.toString();
+    //Replace the values with yes for GCNotify
+    let values;
+ 
+    Iif (formData.get("language").toString().localeCompare("fr") == 0) {
+      values = [
+        "Informations+incorrectes",
+        "Informations+impr%C3%A9cises",
+        "Vous+n%E2%80%99avez+pas+trouv%C3%A9+ce+que+vous+cherchiez",
+        "La+page+ne+fonctionne+pas+avec+vos+technologies+d%E2%80%99adaptation",
+        "Vous+%C3%AAtes+inquiet+pour+votre+vie+priv%C3%A9e",
+        "Vous+ne+savez+pas+o%C3%B9+trouver+de+l%E2%80%99aide",
+        "Autres",
+      ];
+    } else {
+      values = [
+        "Incorrect+Information",
+        "Unclear+Information",
+        "You+didn%E2%80%99t+find+what+you+were+looking+for",
+        "Page+does+not+work+with+your+adaptive+technologies",
+        "You%E2%80%99re+worried+about+your+privacy",
+        "You+don%E2%80%99t+know+where+else+to+go+for+help",
+        "Other",
+      ];
+    }
+ 
+    for (const value of values) {
+      urlString = urlString.replace(value, "yes");
+    }
+ 
+    // call report a problem API route
+    fetch("/api/report-a-problem", {
+      method: "POST",
+      headers: {
+        "Content-Type": "application/x-www-form-urlencoded;charset=UTF-8",
+      },
+      body: urlString,
+    }).catch((e) => {
+      // handle error if fetch fails
+      // fetch only fails if there is no internet connection not for the actual
+      // request so there is nothing really to do here other than to log it
+      console.log(e);
+    });
+ 
+    if (checkBoxSelected) {
+      setSubmitted(true);
+    }
+    //Make sure the form was submitted at least once
+    setSubmittedOnce(true);
+  };
+ 
+  return (
+    <Details
+      label={t("footerReportProblemButtonString", { lng: props.language })}
+      dataCy="report-a-problem-details"
+      dataTestId="report-a-problem-details"
+    >
+      <div role="status">
+        {submitted ? (
+          <>
+            <h2 className="text-h3 font-display mb-4 font-bold">
+              <b>
+                {t("reportAProblemThankYouForYourHelp", {
+                  lng: props.language,
+                })}
+              </b>
+            </h2>
+            <p className="text-sm font-body">
+              {t("reportAProblemYouWillNotBeContacted", {
+                lng: props.language,
+              })}
+            </p>
+          </>
+        ) : (
+          ""
+        )}
+      </div>
+      {submitted ? (
+        ""
+      ) : (
+        <>
+          <h2 className="text-base font-body mt-0">
+            {t("reportAProblemTitle", { lng: props.language })}
+          </h2>
+          <ul className="list-outside list-disc px-6 py-2">
+            <li className="text-xs sm:text-sm font-body mb-4 leading-tight sm:leading-6">
+              <b>{t("reportAProblemNoReply", { lng: props.language })}</b>
+            </li>
+            <li className="text-xs sm:text-sm font-body my-4 leading-tight sm:leading-6">
+              <b>
+                {t("reportAProblemFeedbackConfidential", {
+                  lng: props.language,
+                })}
+              </b>{" "}
+              <Link
+                href="/signup/privacy"
+                className="underline text-xs sm:text-sm font-body hover:text-canada-footer-hover-font-blue text-canada-footer-font"
+              >
+                {t("reportAProblemPrivacyStatement", { lng: props.language })}
+              </Link>
+            </li>
+          </ul>
+          <form
+            data-gc-analytics-formname="ESDC|EDSC:ServiceCanadaLabsReport-Problem"
+            data-gc-analytics-collect='[{"value":"input,select","emptyField":"N/A"}]'
+            className="w-full"
+            action="#"
+            onSubmit={onSubmitHandler}
+          >
+            <input
+              type="hidden"
+              id="language"
+              name="language"
+              value={i18n.language}
+            />
+            <fieldset>
+              <legend className="text-base sm:text-p font-body font-normal mb-6">
+                <b className="text-error-border-red mr-2" aria-hidden="true">
+                  *
+                </b>
+                {t("reportAProblemCheckAllThatApply", { lng: props.language })}
+              </legend>
+              <OptionalTextField
+                controlId="incorrectInformationCheckBox"
+                textFieldId="incorrectInformationTextField"
+                controlName="incorrect_information"
+                textFieldName="incorrect_information_details"
+                controlLabel={t("reportAProblemIncorrectInformation", {
+                  lng: props.language,
+                })}
+                textFieldLabel={t("reportAProblemProvideMoreDetails", {
+                  lng: props.language,
+                })}
+                uncontrolled={true}
+                multiText={true}
+                textLabelBold={true}
+                wrap="hard"
+                maxLength={750}
+                controlDataTestId="incorrectInformation-checkbox"
+                textFieldDataTestId="incorrectInformation-text"
+                controlDataCy="incorrectInformation-checkbox"
+                textFieldDataCy="incorrectInformation-text"
+                describedby="incorrectInformation"
+                OptionalTextField
+                checkBoxStyle="mb-4 inline-block"
+                controlValue={t("reportAProblemIncorrectInformation", {
+                  lng: props.language,
+                })}
+              />
+              <OptionalTextField
+                controlId="unclearInformationCheckBox"
+                textFieldId="unclearInformationTextField"
+                controlName="unclear_information"
+                textFieldName="unclear_information_details"
+                controlLabel={t("reportAProblemUnclearInformation", {
+                  lng: props.language,
+                })}
+                textFieldLabel={t("reportAProblemProvideMoreDetails", {
+                  lng: props.language,
+                })}
+                uncontrolled={true}
+                multiText={true}
+                textLabelBold={true}
+                wrap="hard"
+                maxLength={750}
+                controlDataTestId="unclearInformation-checkbox"
+                textFieldDataTestId="unclearInformation-text"
+                controlDataCy="unclearInformation-checkbox"
+                textFieldDataCy="unclearInformation-text"
+                describedby="unclearInformation"
+                checkBoxStyle="mb-4 inline-block"
+                controlValue={t("reportAProblemUnclearInformation", {
+                  lng: props.language,
+                })}
+              />
+              <OptionalTextField
+                controlId="infoNotFoundCheckBox"
+                textFieldId="infoNotFoundTextField"
+                controlName="info_not_found"
+                textFieldName="info_not_found_details"
+                controlLabel={t("reportAProblemDidNotFindWhatYoureLookingFor", {
+                  lng: props.language,
+                })}
+                textFieldLabel={t("reportAProblemProvideMoreDetails", {
+                  lng: props.language,
+                })}
+                uncontrolled={true}
+                multiText={true}
+                textLabelBold={true}
+                wrap="hard"
+                maxLength={750}
+                controlDataTestId="infoNotFound-checkbox"
+                textFieldDataTestId="infoNotFound-text"
+                controlDataCy="infoNotFound-checkbox"
+                textFieldDataCy="infoNotFound-text"
+                describedby="infoNotFound"
+                checkBoxStyle="lg:mb-8 mb-4 inline-block"
+                controlValue={t("reportAProblemDidNotFindWhatYoureLookingFor", {
+                  lng: props.language,
+                })}
+              />
+              <OptionalTextField
+                controlId="adaptiveTechnologyCheckBox"
+                textFieldId="adaptiveTechnologyTextField"
+                controlName="adaptive_technology"
+                textFieldName="adaptive_technology_details"
+                controlLabel={t(
+                  "reportAProblemPageDoesNotWorkWithAdaptiveTechnology",
+                  { lng: props.language }
+                )}
+                textFieldLabel={t("reportAProblemProvideMoreDetails", {
+                  lng: props.language,
+                })}
+                uncontrolled={true}
+                multiText={true}
+                textLabelBold={true}
+                wrap="hard"
+                maxLength={750}
+                controlDataTestId="adaptiveTechnology-checkbox"
+                textFieldDataTestId="adaptiveTechnology-text"
+                controlDataCy="adaptiveTechnology-checkbox"
+                textFieldDataCy="adaptiveTechnology-text"
+                describedby="adaptiveTechnology"
+                checkBoxStyle="mb-8 inline-block"
+                controlValue={t(
+                  "reportAProblemPageDoesNotWorkWithAdaptiveTechnology",
+                  { lng: props.language }
+                )}
+              />
+              <OptionalTextField
+                controlId="privacyIssuesCheckBox"
+                textFieldId="privacyIssuesTextField"
+                controlName="privacy_issues"
+                textFieldName="privacy_issues_details"
+                controlLabel={t("reportAProblemYoureWorriedAboutYourPrivacy", {
+                  lng: props.language,
+                })}
+                textFieldLabel={t("reportAProblemProvideMoreDetails", {
+                  lng: props.language,
+                })}
+                uncontrolled={true}
+                multiText={true}
+                textLabelBold={true}
+                wrap="hard"
+                maxLength={750}
+                controlDataTestId="privacyIssues-checkbox"
+                textFieldDataTestId="privacyIssues-text"
+                controlDataCy="privacyIssues-checkbox"
+                textFieldDataCy="privacyIssues-text"
+                describedby="privacyIssues"
+                checkBoxStyle="mb-4 inline-block"
+                controlValue={t("reportAProblemYoureWorriedAboutYourPrivacy", {
+                  lng: props.language,
+                })}
+              />
+              <OptionalTextField
+                controlId="noWhereElseToGoCheckBox"
+                textFieldId="noWhereElseToGoTextField"
+                controlName="no_where_else_to_go"
+                textFieldName="no_where_else_to_go_details"
+                controlLabel={t("reportAProblemNoWhereElseToGo", {
+                  lng: props.language,
+                })}
+                textFieldLabel={t("reportAProblemProvideMoreDetails", {
+                  lng: props.language,
+                })}
+                uncontrolled={true}
+                multiText={true}
+                textLabelBold={true}
+                wrap="hard"
+                maxLength={750}
+                controlDataTestId="noWhereElseToGo-checkbox"
+                textFieldDataTestId="noWhereElseToGo-text"
+                controlDataCy="noWhereElseToGo-checkbox"
+                textFieldDataCy="noWhereElseToGo-text"
+                describedby="noWhereElseToGo"
+                checkBoxStyle="lg:mb-8 mb-4 inline-block"
+                controlValue={t("reportAProblemNoWhereElseToGo", {
+                  lng: props.language,
+                })}
+              />
+              <OptionalTextField
+                controlId="otherCheckBox"
+                textFieldId="otherTextField"
+                controlName="other"
+                textFieldName="other_details"
+                controlLabel={t("reportAProblemOther", { lng: props.language })}
+                textFieldLabel={t("reportAProblemProvideMoreDetails", {
+                  lng: props.language,
+                })}
+                uncontrolled={true}
+                multiText={true}
+                textLabelBold={true}
+                wrap="hard"
+                maxLength={750}
+                controlDataTestId="other-checkbox"
+                textFieldDataTestId="other-text"
+                controlDataCy="other-checkbox"
+                textFieldDataCy="other-text"
+                describedby="other"
+                checkBoxStyle="mb-4"
+                controlValue={t("reportAProblemOther", { lng: props.language })}
+              />
+              {submittedOnce ? (
+                <ErrorLabel
+                  message={t("reportAProblemError", { lng: props.language })}
+                />
+              ) : undefined}
+            </fieldset>
+            <ActionButton
+              id="submit"
+              className="rounded block mt-4"
+              type="submit"
+              dataCy="report-a-problem-submit"
+              dataTestId="report-a-problem-submit"
+              analyticsTracking
+            >
+              {t("reportAProblemSubmit", { lng: props.language })}
+            </ActionButton>
+          </form>
+        </>
+      )}
+    </Details>
+  );
+}
+ 
+ReportAProblem.propTypes = {
+  /**
+   * Translation language
+   */
+  language: PropTypes.string,
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/organisms/ReportAProblem.stories.js.html b/main/coverage/lcov-report/components/organisms/ReportAProblem.stories.js.html new file mode 100644 index 0000000000..b440a70802 --- /dev/null +++ b/main/coverage/lcov-report/components/organisms/ReportAProblem.stories.js.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for components/organisms/ReportAProblem.stories.js + + + + + + + + + +
+
+

All files / components/organisms ReportAProblem.stories.js

+
+ +
+ 83.33% + Statements + 5/6 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 4/4 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +121x +1x +  +1x +  +  +  +  +  +  +10x + 
import React from "react";
+import { ReportAProblem } from "./ReportAProblem";
+ 
+export default {
+  title: "Components/Organisms/ReportAProblem",
+  component: ReportAProblem,
+};
+ 
+const Template = (args) => <ReportAProblem {...args} />;
+ 
+export const Primary = Template.bind({});
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/organisms/index.html b/main/coverage/lcov-report/components/organisms/index.html new file mode 100644 index 0000000000..b29663b0cc --- /dev/null +++ b/main/coverage/lcov-report/components/organisms/index.html @@ -0,0 +1,266 @@ + + + + + + Code coverage report for components/organisms + + + + + + + + + +
+
+

All files components/organisms

+
+ +
+ 87.74% + Statements + 136/155 +
+ + +
+ 68.51% + Branches + 37/54 +
+ + +
+ 60% + Functions + 9/15 +
+ + +
+ 93.18% + Lines + 123/132 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
Feedback.js +
+
62.5%10/1680%4/525%1/460%9/15
Footer.js +
+
100%8/850%2/4100%1/1100%7/7
Footer.stories.js +
+
85.71%6/7100%0/0100%0/0100%5/5
HelpIcon.js +
+
80%8/1020%1/533.33%1/3100%7/7
HelpIcon.stories.js +
+
76.92%10/13100%0/0100%0/0100%9/9
Layout.js +
+
100%17/1763.63%14/22100%1/1100%16/16
Layout.stories.js +
+
90.9%10/11100%0/0100%1/1100%8/8
PhaseBanner.js +
+
88.88%16/1887.5%7/8100%2/293.75%15/16
PhaseBanner.stories.js +
+
90%9/10100%0/0100%0/0100%7/7
ReportAProblem.js +
+
94.87%37/3990%9/1066.66%2/394.73%36/38
ReportAProblem.stories.js +
+
83.33%5/6100%0/0100%0/0100%4/4
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/text_node_renderer/TextRecur.jsx.html b/main/coverage/lcov-report/components/text_node_renderer/TextRecur.jsx.html new file mode 100644 index 0000000000..b03dc0b375 --- /dev/null +++ b/main/coverage/lcov-report/components/text_node_renderer/TextRecur.jsx.html @@ -0,0 +1,241 @@ + + + + + + Code coverage report for components/text_node_renderer/TextRecur.jsx + + + + + + + + + +
+
+

All files / components/text_node_renderer TextRecur.jsx

+
+ +
+ 100% + Statements + 17/17 +
+ + +
+ 100% + Branches + 9/9 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 100% + Lines + 17/17 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +5311x +  +11x +11x +11x +11x +11x +11x +11x +11x +11x +  +  +11x +  +  +  +  +  +  +  +  +  +  +  +99x +500x +499x +  +499x +  +  +  +  +  +1x +  +  +  +  +  +  +  +400x +  +  +  +  +  +  +  +  + 
import { v4 as uuid } from "uuid";
+ 
+import Header from "./nodes/Header";
+import LineBreak from "./nodes/LineBreak";
+import ListItem from "./nodes/ListItem";
+import OrderedList from "./nodes/OrderedList";
+import Paragraph from "./nodes/Paragraph";
+import Text from "./nodes/Text";
+import Span from "./nodes/Span";
+import UnorderedList from "./nodes/UnorderedList";
+import Link from "./nodes/Link";
+ 
+// todo: more components will like need to be added, but for now, these are the only ones returned in the aem json response
+const NODES = {
+  header: Header,
+  paragraph: Paragraph,
+  link: Link,
+  text: Text,
+  span: Span,
+  "unordered-list": UnorderedList,
+  "ordered-list": OrderedList,
+  "list-item": ListItem,
+  "line-break": LineBreak,
+};
+ 
+export default function TextRecur(props) {
+  const Node = NODES[props.node?.nodeType];
+  let content = props.node?.content;
+ 
+  if (
+    !Node ||
+    (props.excludeH1 &&
+      props.node?.nodeType === "header" &&
+      props.node?.style === "h1")
+  ) {
+    return;
+  }
+ 
+  return (
+    <>
+      {content && content.length ? (
+        <Node key={uuid()} node={props.node} index={props.index}>
+          {content.map((node) => (
+            <TextRecur key={uuid()} node={node} />
+          ))}
+        </Node>
+      ) : (
+        <Node key={uuid()} node={props.node}></Node>
+      )}
+    </>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/text_node_renderer/TextRender.jsx.html b/main/coverage/lcov-report/components/text_node_renderer/TextRender.jsx.html new file mode 100644 index 0000000000..eb10f4a862 --- /dev/null +++ b/main/coverage/lcov-report/components/text_node_renderer/TextRender.jsx.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for components/text_node_renderer/TextRender.jsx + + + + + + + + + +
+
+

All files / components/text_node_renderer TextRender.jsx

+
+ +
+ 100% + Statements + 4/4 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 100% + Lines + 4/4 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +2011x +11x +  +33x +  +  +  +99x +  +  +  +  +  +  +  +  +  +  +  + 
import TextRecur from "./TextRecur";
+import { v4 as uuid } from "uuid";
+ 
+export default function TextRender(props) {
+  return (
+    <>
+      {props.data.map((node, index) => {
+        return (
+          <TextRecur
+            key={uuid()}
+            node={node}
+            index={index}
+            excludeH1={props.excludeH1}
+          />
+        );
+      })}
+    </>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/text_node_renderer/index.html b/main/coverage/lcov-report/components/text_node_renderer/index.html new file mode 100644 index 0000000000..7368549d1a --- /dev/null +++ b/main/coverage/lcov-report/components/text_node_renderer/index.html @@ -0,0 +1,131 @@ + + + + + + Code coverage report for components/text_node_renderer + + + + + + + + + +
+
+

All files components/text_node_renderer

+
+ +
+ 100% + Statements + 21/21 +
+ + +
+ 100% + Branches + 9/9 +
+ + +
+ 100% + Functions + 4/4 +
+ + +
+ 100% + Lines + 21/21 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
TextRecur.jsx +
+
100%17/17100%9/9100%2/2100%17/17
TextRender.jsx +
+
100%4/4100%0/0100%2/2100%4/4
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/text_node_renderer/nodes/Header.jsx.html b/main/coverage/lcov-report/components/text_node_renderer/nodes/Header.jsx.html new file mode 100644 index 0000000000..d5d4722426 --- /dev/null +++ b/main/coverage/lcov-report/components/text_node_renderer/nodes/Header.jsx.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for components/text_node_renderer/nodes/Header.jsx + + + + + + + + + +
+
+

All files / components/text_node_renderer/nodes Header.jsx

+
+ +
+ 100% + Statements + 2/2 +
+ + +
+ 50% + Branches + 2/4 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 2/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +2111x +18x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
export default function Header(props) {
+  switch (props.node.style) {
+    case "h1":
+      return (
+        <h1 className={props.index === 0 ? "mt-0" : ""}>{props.children}</h1>
+      );
+    case "h2":
+      return (
+        <h2 className={props.index === 0 ? "mt-0" : ""}>{props.children}</h2>
+      );
+    case "h3":
+      return <h3 className="mt-12">{props.children}</h3>;
+    case "h4":
+      return <h4>{props.children}</h4>;
+    case "h5":
+      return <h5>{props.children}</h5>;
+    default:
+      return <h6>{props.children}</h6>;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/text_node_renderer/nodes/LineBreak.jsx.html b/main/coverage/lcov-report/components/text_node_renderer/nodes/LineBreak.jsx.html new file mode 100644 index 0000000000..042c9f7c37 --- /dev/null +++ b/main/coverage/lcov-report/components/text_node_renderer/nodes/LineBreak.jsx.html @@ -0,0 +1,94 @@ + + + + + + Code coverage report for components/text_node_renderer/nodes/LineBreak.jsx + + + + + + + + + +
+
+

All files / components/text_node_renderer/nodes LineBreak.jsx

+
+ +
+ 100% + Statements + 2/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 2/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +411x +22x +  + 
export default function LineBreak() {
+  return <br />;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/text_node_renderer/nodes/Link.jsx.html b/main/coverage/lcov-report/components/text_node_renderer/nodes/Link.jsx.html new file mode 100644 index 0000000000..a19381fae0 --- /dev/null +++ b/main/coverage/lcov-report/components/text_node_renderer/nodes/Link.jsx.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for components/text_node_renderer/nodes/Link.jsx + + + + + + + + + +
+
+

All files / components/text_node_renderer/nodes Link.jsx

+
+ +
+ 100% + Statements + 1/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 1/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +1111x +  +  +  +  +  +  +  +  +  + 
export default function Link(props) {
+  return (
+    <a
+      href={props.node.data.href}
+      className="underline underline-offset-[6px] text-custom-blue-projects-link hover:text-custom-blue-projects-link-hover"
+    >
+      {props.node.value}
+    </a>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/text_node_renderer/nodes/ListItem.jsx.html b/main/coverage/lcov-report/components/text_node_renderer/nodes/ListItem.jsx.html new file mode 100644 index 0000000000..0892d0f934 --- /dev/null +++ b/main/coverage/lcov-report/components/text_node_renderer/nodes/ListItem.jsx.html @@ -0,0 +1,94 @@ + + + + + + Code coverage report for components/text_node_renderer/nodes/ListItem.jsx + + + + + + + + + +
+
+

All files / components/text_node_renderer/nodes ListItem.jsx

+
+ +
+ 100% + Statements + 1/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 1/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +411x +  +  + 
export default function ListItem(props) {
+  return <li className="ml-10 text-[20px]">{props.children}</li>;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/text_node_renderer/nodes/OrderedList.jsx.html b/main/coverage/lcov-report/components/text_node_renderer/nodes/OrderedList.jsx.html new file mode 100644 index 0000000000..4a53990d0d --- /dev/null +++ b/main/coverage/lcov-report/components/text_node_renderer/nodes/OrderedList.jsx.html @@ -0,0 +1,94 @@ + + + + + + Code coverage report for components/text_node_renderer/nodes/OrderedList.jsx + + + + + + + + + +
+
+

All files / components/text_node_renderer/nodes OrderedList.jsx

+
+ +
+ 100% + Statements + 1/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 1/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +411x +  +  + 
export default function UnorderedList(props) {
+  return <ol className="list-decimal">{props.children}</ol>;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/text_node_renderer/nodes/Paragraph.jsx.html b/main/coverage/lcov-report/components/text_node_renderer/nodes/Paragraph.jsx.html new file mode 100644 index 0000000000..b86003b8e5 --- /dev/null +++ b/main/coverage/lcov-report/components/text_node_renderer/nodes/Paragraph.jsx.html @@ -0,0 +1,94 @@ + + + + + + Code coverage report for components/text_node_renderer/nodes/Paragraph.jsx + + + + + + + + + +
+
+

All files / components/text_node_renderer/nodes Paragraph.jsx

+
+ +
+ 100% + Statements + 1/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 1/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +411x +  +  + 
export default function Paragraph(props) {
+  return <p>{props.children}</p>;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/text_node_renderer/nodes/Span.jsx.html b/main/coverage/lcov-report/components/text_node_renderer/nodes/Span.jsx.html new file mode 100644 index 0000000000..03be97edcf --- /dev/null +++ b/main/coverage/lcov-report/components/text_node_renderer/nodes/Span.jsx.html @@ -0,0 +1,94 @@ + + + + + + Code coverage report for components/text_node_renderer/nodes/Span.jsx + + + + + + + + + +
+
+

All files / components/text_node_renderer/nodes Span.jsx

+
+ +
+ 100% + Statements + 1/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 100% + Lines + 1/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +411x +  +  + 
export default function Span(props) {
+  return <span>{props.children}</span>;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/text_node_renderer/nodes/Text.jsx.html b/main/coverage/lcov-report/components/text_node_renderer/nodes/Text.jsx.html new file mode 100644 index 0000000000..6df233d5eb --- /dev/null +++ b/main/coverage/lcov-report/components/text_node_renderer/nodes/Text.jsx.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for components/text_node_renderer/nodes/Text.jsx + + + + + + + + + +
+
+

All files / components/text_node_renderer/nodes Text.jsx

+
+ +
+ 100% + Statements + 2/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 2/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +1211x +  +216x +  +  +  +  +  +  +  +  + 
export default function Text(props) {
+  // todo: guessing on italic since I didn't see it, but I'm assuming it exists and will need to be updated
+  switch (props.node?.format?.variants?.[0]) {
+    case "strong":
+      return <strong>{props.node.value}</strong>;
+    case "emphasis":
+      return <em>{props.node.value}</em>;
+    default:
+      return <>{props.node.value}</>;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/text_node_renderer/nodes/UnorderedList.jsx.html b/main/coverage/lcov-report/components/text_node_renderer/nodes/UnorderedList.jsx.html new file mode 100644 index 0000000000..b220335211 --- /dev/null +++ b/main/coverage/lcov-report/components/text_node_renderer/nodes/UnorderedList.jsx.html @@ -0,0 +1,94 @@ + + + + + + Code coverage report for components/text_node_renderer/nodes/UnorderedList.jsx + + + + + + + + + +
+
+

All files / components/text_node_renderer/nodes UnorderedList.jsx

+
+ +
+ 100% + Statements + 1/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 1/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +411x +  +  + 
export default function UnorderedList(props) {
+  return <ul className="list-disc">{props.children}</ul>;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/components/text_node_renderer/nodes/index.html b/main/coverage/lcov-report/components/text_node_renderer/nodes/index.html new file mode 100644 index 0000000000..203646ed19 --- /dev/null +++ b/main/coverage/lcov-report/components/text_node_renderer/nodes/index.html @@ -0,0 +1,236 @@ + + + + + + Code coverage report for components/text_node_renderer/nodes + + + + + + + + + +
+
+

All files components/text_node_renderer/nodes

+
+ +
+ 100% + Statements + 12/12 +
+ + +
+ 50% + Branches + 2/4 +
+ + +
+ 88.88% + Functions + 8/9 +
+ + +
+ 100% + Lines + 12/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
Header.jsx +
+
100%2/250%2/4100%1/1100%2/2
LineBreak.jsx +
+
100%2/2100%0/0100%1/1100%2/2
Link.jsx +
+
100%1/1100%0/0100%1/1100%1/1
ListItem.jsx +
+
100%1/1100%0/0100%1/1100%1/1
OrderedList.jsx +
+
100%1/1100%0/0100%1/1100%1/1
Paragraph.jsx +
+
100%1/1100%0/0100%1/1100%1/1
Span.jsx +
+
100%1/1100%0/00%0/1100%1/1
Text.jsx +
+
100%2/2100%0/0100%1/1100%2/2
UnorderedList.jsx +
+
100%1/1100%0/0100%1/1100%1/1
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/favicon.png b/main/coverage/lcov-report/favicon.png new file mode 100644 index 0000000000..c1525b811a Binary files /dev/null and b/main/coverage/lcov-report/favicon.png differ diff --git a/main/coverage/lcov-report/index.html b/main/coverage/lcov-report/index.html new file mode 100644 index 0000000000..119c14c2f5 --- /dev/null +++ b/main/coverage/lcov-report/index.html @@ -0,0 +1,386 @@ + + + + + + Code coverage report for All files + + + + + + + + + +
+
+

All files

+
+ +
+ 73.01% + Statements + 1307/1790 +
+ + +
+ 46.08% + Branches + 724/1571 +
+ + +
+ 61.78% + Functions + 152/246 +
+ + +
+ 75.44% + Lines + 1186/1572 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
components +
+
0%0/1100%0/0100%0/00%0/1
components/atoms +
+
92.26%334/36271.96%154/21491.89%34/3798.63%289/293
components/fragment_renderer +
+
89.28%50/5639.78%37/9375%3/489.58%43/48
components/fragment_renderer/fragment_components +
+
85.57%89/10442.1%8/1988.88%8/992.77%77/83
components/molecules +
+
86.25%345/40057.69%90/15675.51%37/4990.85%308/339
components/organisms +
+
87.74%136/15568.51%37/5460%9/1593.18%123/132
components/text_node_renderer +
+
100%21/21100%9/9100%4/4100%21/21
components/text_node_renderer/nodes +
+
100%12/1250%2/488.88%8/9100%12/12
lib/notify +
+
72.72%8/11100%0/033.33%1/366.66%6/9
lib/utils +
+
56%28/5045%9/2054.54%6/1155.55%25/45
middlewares +
+
57.89%11/1925%1/442.85%3/757.89%11/19
pages +
+
51.66%93/18031.85%72/22646.42%13/2854.11%92/170
pages/api +
+
90.24%37/4187.5%14/1675%3/490%36/40
pages/projects/benefits-finder +
+
37.7%23/6137.03%40/10836.36%4/1139.65%23/58
pages/projects/benefits-navigator +
+
39.68%25/6341.02%64/15636.36%4/1141.66%25/60
pages/projects/dashboard +
+
40.62%26/6437.96%41/10836.36%4/1142.62%26/61
pages/projects/digital-standards-playbook +
+
36.5%23/6341.54%59/14236.36%4/1138.33%23/60
pages/projects/making-easier-get-benefits +
+
35.93%23/6432.14%36/11227.27%3/1137.7%23/61
pages/projects/oas-benefits-estimator +
+
36.5%23/6339.23%51/13036.36%4/1138.33%23/60
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/lib/notify/index.html b/main/coverage/lcov-report/lib/notify/index.html new file mode 100644 index 0000000000..e0dfe3d278 --- /dev/null +++ b/main/coverage/lcov-report/lib/notify/index.html @@ -0,0 +1,131 @@ + + + + + + Code coverage report for lib/notify + + + + + + + + + +
+
+

All files lib/notify

+
+ +
+ 72.72% + Statements + 8/11 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 66.66% + Lines + 6/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
postFeedbackToGcNotify.js +
+
50%1/2100%0/00%0/150%1/2
submitEmail.js +
+
77.77%7/9100%0/050%1/271.42%5/7
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/lib/notify/postFeedbackToGcNotify.js.html b/main/coverage/lcov-report/lib/notify/postFeedbackToGcNotify.js.html new file mode 100644 index 0000000000..e5b72a964b --- /dev/null +++ b/main/coverage/lcov-report/lib/notify/postFeedbackToGcNotify.js.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for lib/notify/postFeedbackToGcNotify.js + + + + + + + + + +
+
+

All files / lib/notify postFeedbackToGcNotify.js

+
+ +
+ 50% + Statements + 1/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 50% + Lines + 1/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
export async function postFeedbackToGcNotify(data) {
+  return await fetch(
+    `${process.env.NOTIFY_BASE_API_URL}/v2/notifications/email`,
+    {
+      method: "POST",
+      headers: {
+        "Content-Type": "application/json",
+        Authorization: `ApiKey-v1 ${process.env.NOTIFY_API_KEY}`,
+      },
+      body: JSON.stringify({
+        email_address: process.env.SUBMIT_FEEDBACK_EMAIL,
+        template_id: process.env.NOTIFY_FEEDBACK_TEMPLATE_ID,
+        personalisation: {
+          ...data,
+        },
+      }),
+    }
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/lib/notify/submitEmail.js.html b/main/coverage/lcov-report/lib/notify/submitEmail.js.html new file mode 100644 index 0000000000..f252798e78 --- /dev/null +++ b/main/coverage/lcov-report/lib/notify/submitEmail.js.html @@ -0,0 +1,280 @@ + + + + + + Code coverage report for lib/notify/submitEmail.js + + + + + + + + + +
+
+

All files / lib/notify submitEmail.js

+
+ +
+ 77.77% + Statements + 7/9 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 50% + Functions + 1/2 +
+ + +
+ 71.42% + Lines + 5/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +662x +  +2x +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +2x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import "node-fetch";
+ 
+export const submitEmail = async (
+  data,
+  defaults,
+  templateId,
+  email,
+  notifyApiAddress,
+  notifyApiKey
+) => {
+  const notifyResponse = await fetch(notifyApiAddress, {
+    method: "POST",
+    headers: {
+      "Content-Type": "application/json",
+      Authorization: `ApiKey-v1 ${notifyApiKey}`,
+    },
+    body: JSON.stringify({
+      email_address: email,
+      template_id: templateId,
+      // notify requires all values in the template to be present
+      // in the request.... highly annoying but providing defaults solves this
+      personalisation: {
+        ...defaults,
+        ...data,
+      },
+    }),
+  });
+ 
+  return [notifyResponse.status, await notifyResponse.json()];
+};
+ 
+export const submitEmailWithAttachment = async (
+  data,
+  defaults,
+  templateId,
+  email,
+  file,
+  fileName,
+  notifyApiAddress,
+  notifyApiKey
+) => {
+  const notifyResponse = await fetch(notifyApiAddress, {
+    method: "POST",
+    headers: {
+      "Content-Type": "application/json",
+      Authorization: `ApiKey-v1 ${notifyApiKey}`,
+    },
+    body: JSON.stringify({
+      email_address: email,
+      template_id: templateId,
+      // notify requires all values in the template to be present
+      // in the request.... highly annoying but providing defaults solves this
+      personalisation: {
+        application_file: {
+          file: file,
+          filename: fileName,
+          sending_method: "attach",
+        },
+        ...defaults,
+        ...data,
+      },
+    }),
+  });
+  return [notifyResponse.status, await notifyResponse.json()];
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/lib/utils/createBreadcrumbs.js.html b/main/coverage/lcov-report/lib/utils/createBreadcrumbs.js.html new file mode 100644 index 0000000000..e10a7e1a5e --- /dev/null +++ b/main/coverage/lcov-report/lib/utils/createBreadcrumbs.js.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for lib/utils/createBreadcrumbs.js + + + + + + + + + +
+
+

All files / lib/utils createBreadcrumbs.js

+
+ +
+ 100% + Statements + 4/4 +
+ + +
+ 50% + Branches + 2/4 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 100% + Lines + 3/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +136x +6x +6x +  +  +  +  +  +  +  +  +  + 
export const createBreadcrumbs = (breadcrumbArray, locale) => {
+  return breadcrumbArray.map((breadCrumbItem) => {
+    return {
+      text:
+        locale === "en" ? breadCrumbItem.scTitleEn : breadCrumbItem.scTitleFr,
+      link:
+        locale === "en"
+          ? breadCrumbItem.scPageNameEn
+          : breadCrumbItem.scPageNameFr,
+    };
+  });
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/lib/utils/generateCollapseElements.js.html b/main/coverage/lcov-report/lib/utils/generateCollapseElements.js.html new file mode 100644 index 0000000000..d165720526 --- /dev/null +++ b/main/coverage/lcov-report/lib/utils/generateCollapseElements.js.html @@ -0,0 +1,214 @@ + + + + + + Code coverage report for lib/utils/generateCollapseElements.js + + + + + + + + + +
+
+

All files / lib/utils generateCollapseElements.js

+
+ +
+ 0% + Statements + 0/19 +
+ + +
+ 0% + Branches + 0/9 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/18 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
export const generateCollapseElements = (json) => {
+  const elements = [];
+ 
+  for (const item of json) {
+    if (item.nodeType === "paragraph") {
+      elements.push(
+        <p key={elements.length}>{generateCollapseElements(item.content)}</p>
+      );
+    } else if (item.nodeType === "unordered-list") {
+      const listItems = item.content.map((listItem, index) => (
+        <li key={index} className="my-0">
+          {generateCollapseElements(listItem.content)}
+        </li>
+      ));
+      elements.push(
+        <ul key={elements.length} className="mb-0">
+          {listItems}
+        </ul>
+      );
+    } else if (item.nodeType === "ordered-list") {
+      const listItems = item.content.map((listItem, index) => (
+        <li key={index} className="my-0">
+          {generateCollapseElements(listItem.content)}
+        </li>
+      ));
+      elements.push(
+        <ol key={elements.length} className="mb-0">
+          {listItems}
+        </ol>
+      );
+    } else if (item.nodeType === "list-item") {
+      elements.push(
+        <li key={elements.length} className="my-0">
+          {generateCollapseElements(item.content)}
+        </li>
+      );
+    } else Iif (item.nodeType === "text") {
+      elements.push(item.value);
+    }
+  }
+ 
+  return elements;
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/lib/utils/getAllUpdateIds.js.html b/main/coverage/lcov-report/lib/utils/getAllUpdateIds.js.html new file mode 100644 index 0000000000..4ac24157df --- /dev/null +++ b/main/coverage/lcov-report/lib/utils/getAllUpdateIds.js.html @@ -0,0 +1,133 @@ + + + + + + Code coverage report for lib/utils/getAllUpdateIds.js + + + + + + + + + +
+
+

All files / lib/utils getAllUpdateIds.js

+
+ +
+ 0% + Statements + 0/3 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
export function getAllUpdateIds(items) {
+  return items.flatMap((item) => [
+    {
+      params: {
+        id: item.scPageNameEn,
+      },
+      locale: "en",
+    },
+    {
+      params: {
+        id: item.scPageNameFr,
+      },
+      locale: "fr",
+    },
+  ]);
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/lib/utils/index.html b/main/coverage/lcov-report/lib/utils/index.html new file mode 100644 index 0000000000..de383580f5 --- /dev/null +++ b/main/coverage/lcov-report/lib/utils/index.html @@ -0,0 +1,191 @@ + + + + + + Code coverage report for lib/utils + + + + + + + + + +
+
+

All files lib/utils

+
+ +
+ 56% + Statements + 28/50 +
+ + +
+ 45% + Branches + 9/20 +
+ + +
+ 54.54% + Functions + 6/11 +
+ + +
+ 55.55% + Lines + 25/45 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
createBreadcrumbs.js +
+
100%4/450%2/4100%2/2100%3/3
generateCollapseElements.js +
+
0%0/190%0/90%0/30%0/18
getAllUpdateIds.js +
+
0%0/3100%0/00%0/20%0/2
maskEmail.js +
+
100%13/13100%7/7100%1/1100%12/12
sortUpdatesByDate.js +
+
100%4/4100%0/0100%2/2100%3/3
stripFeedback.js +
+
100%7/7100%0/0100%1/1100%7/7
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/lib/utils/maskEmail.js.html b/main/coverage/lcov-report/lib/utils/maskEmail.js.html new file mode 100644 index 0000000000..fdd6735da6 --- /dev/null +++ b/main/coverage/lcov-report/lib/utils/maskEmail.js.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for lib/utils/maskEmail.js + + + + + + + + + +
+
+

All files / lib/utils maskEmail.js

+
+ +
+ 100% + Statements + 13/13 +
+ + +
+ 100% + Branches + 7/7 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 12/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20  +1x +1x +1x +  +1x +14x +1x +13x +10x +10x +  +3x +3x +  +  +  +1x +  + 
//Function for masking email to get in the thank you page later
+export function maskEmail(email) {
+  let maskedEmail = "";
+  let x = 0;
+ 
+  for (var i = 0; i < email.length; i++) {
+    if (i === 0) {
+      maskedEmail += email[i];
+    } else if (email[i] !== "@" && email[i] !== "." && x <= 3) {
+      maskedEmail += "*";
+      x += 1;
+    } else {
+      maskedEmail += email[i];
+      x = 0;
+    }
+  }
+ 
+  return maskedEmail;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/lib/utils/sortUpdatesByDate.js.html b/main/coverage/lcov-report/lib/utils/sortUpdatesByDate.js.html new file mode 100644 index 0000000000..7cf11013f2 --- /dev/null +++ b/main/coverage/lcov-report/lib/utils/sortUpdatesByDate.js.html @@ -0,0 +1,100 @@ + + + + + + Code coverage report for lib/utils/sortUpdatesByDate.js + + + + + + + + + +
+
+

All files / lib/utils sortUpdatesByDate.js

+
+ +
+ 100% + Statements + 4/4 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 100% + Lines + 3/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +66x +6x +3x +  +  + 
export const sortUpdatesByDate = (array) => {
+  return [...array].sort((a, b) => {
+    return b.scDateModifiedOverwrite.localeCompare(a.scDateModifiedOverwrite);
+  });
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/lib/utils/stripFeedback.js.html b/main/coverage/lcov-report/lib/utils/stripFeedback.js.html new file mode 100644 index 0000000000..f699719682 --- /dev/null +++ b/main/coverage/lcov-report/lib/utils/stripFeedback.js.html @@ -0,0 +1,178 @@ + + + + + + Code coverage report for lib/utils/stripFeedback.js + + + + + + + + + +
+
+

All files / lib/utils stripFeedback.js

+
+ +
+ 100% + Statements + 7/7 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 7/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +327x +  +7x +  +  +  +  +  +7x +  +  +  +  +  +7x +  +  +  +  +  +7x +  +  +  +7x +  +  +  +  +7x +  + 
export function stripFeedback(feedbackToClean) {
+  //Remove postal code from feedback
+  feedbackToClean = feedbackToClean.replaceAll(
+    /[ABCEGHJ-NPRSTVXY]\d[ABCEGHJ-NPRSTV-Z][ -]?\d[ABCEGHJ-NPRSTV-Z]\d/gim,
+    "### ###"
+  );
+ 
+  //Remove SIN from feedback
+  feedbackToClean = feedbackToClean.replaceAll(
+    /(\d{3}\s*\d{3}\s*\d{3}|\d{3}\D*\d{3}\D*\d{3})/gm,
+    "### ### ###"
+  );
+ 
+  //Remove email from feedback
+  feedbackToClean = feedbackToClean.replaceAll(
+    /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*/gim,
+    "####@####.####"
+  );
+ 
+  //Removes phone number from feedback
+  feedbackToClean = feedbackToClean.replaceAll(
+    /(\+\d{1,2}\s?)?1?\-?\.?\s?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}/gm,
+    "# ### ### ###"
+  );
+  feedbackToClean = feedbackToClean.replaceAll(
+    /(?:(?:\+?1\s*(?:[.-]\s*)?)?(?:\(\s*([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\s*\)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\s*(?:[.-]\s*)?)?([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\s*(?:[.-]\s*)?([0-9]{4})(?:\s*(?:#|x\.?|ext\.?|extension)\s*(\d+))?/gm,
+    "# ### ### ###"
+  );
+ 
+  return feedbackToClean;
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/middlewares/index.html b/main/coverage/lcov-report/middlewares/index.html new file mode 100644 index 0000000000..429fa995b8 --- /dev/null +++ b/main/coverage/lcov-report/middlewares/index.html @@ -0,0 +1,131 @@ + + + + + + Code coverage report for middlewares + + + + + + + + + +
+
+

All files middlewares

+
+ +
+ 57.89% + Statements + 11/19 +
+ + +
+ 25% + Branches + 1/4 +
+ + +
+ 42.85% + Functions + 3/7 +
+ + +
+ 57.89% + Lines + 11/19 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
initMiddleware.js +
+
0%0/70%0/10%0/40%0/7
joi.js +
+
91.66%11/1233.33%1/3100%3/391.66%11/12
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/middlewares/initMiddleware.js.html b/main/coverage/lcov-report/middlewares/initMiddleware.js.html new file mode 100644 index 0000000000..ee599fa1d9 --- /dev/null +++ b/main/coverage/lcov-report/middlewares/initMiddleware.js.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for middlewares/initMiddleware.js + + + + + + + + + +
+
+

All files / middlewares initMiddleware.js

+
+ +
+ 0% + Statements + 0/7 +
+ + +
+ 0% + Branches + 0/1 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 0% + Lines + 0/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14  +  +  +  +  +  +  +  +  +  +  +  +  + 
// Helper method to wait for a middleware to execute before continuing
+// And to throw an error when an error happens in a middleware
+export default function initMiddleware(middleware) {
+  return (req, res) =>
+    new Promise((resolve, reject) => {
+      middleware(req, res, (result) => {
+        Iif (result instanceof Error) {
+          return reject(result);
+        }
+        return resolve(result);
+      });
+    });
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/middlewares/joi.js.html b/main/coverage/lcov-report/middlewares/joi.js.html new file mode 100644 index 0000000000..946a83a1b9 --- /dev/null +++ b/main/coverage/lcov-report/middlewares/joi.js.html @@ -0,0 +1,160 @@ + + + + + + Code coverage report for middlewares/joi.js + + + + + + + + + +
+
+

All files / middlewares joi.js

+
+ +
+ 91.66% + Statements + 11/12 +
+ + +
+ 33.33% + Branches + 1/3 +
+ + +
+ 100% + Functions + 3/3 +
+ + +
+ 91.66% + Lines + 11/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +261x +1x +  +  +  +  +  +  +  +  +1x +1x +1x +1x +1x +  +  +1x +1x +2x +  +1x +  +  +  + 
import { Schema, ValidationOptions } from "joi"; //lgtm [js/unused-local-variable]
+import { NextApiHandler } from "next"; //lgtm [js/unused-local-variable]
+ 
+/**
+ * middleware to validate body of request with Joi schema
+ * if valid handler will be called otherwise a 400 response with the errors will be returned
+ * @param schema {Schema} - joi validation schema
+ * @param handler {NextApiHandler} - the next handler to call if the schema is valid
+ * @param options {ValidationOptions} - the Joi validations options
+ */
+export default function validate(schema, handler, options = {}) {
+  return async (req, res) => {
+    const { error } = await schema.validate(req.body, options);
+    const valid = error === undefined;
+    Iif (valid) {
+      return handler(req, res);
+    } else {
+      const { details } = error;
+      const message = details.map((i) => {
+        return { path: i.path, message: i.message };
+      });
+      res.status(400).json({ error: message });
+    }
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/pages/404.js.html b/main/coverage/lcov-report/pages/404.js.html new file mode 100644 index 0000000000..0c49a22923 --- /dev/null +++ b/main/coverage/lcov-report/pages/404.js.html @@ -0,0 +1,814 @@ + + + + + + Code coverage report for pages/404.js + + + + + + + + + +
+
+

All files / pages 404.js

+
+ +
+ 76.92% + Statements + 20/26 +
+ + +
+ 40.9% + Branches + 9/22 +
+ + +
+ 66.66% + Functions + 2/3 +
+ + +
+ 80% + Lines + 20/25 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +2441x +1x +1x +1x +1x +1x +1x +1x +  +1x +2x +2x +2x +2x +  +2x +1x +  +  +  +  +  +1x +  +  +1x +  +  +  +  +2x +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  + 
import Head from "next/head";
+import { useTranslation } from "next-i18next";
+import { serverSideTranslations } from "next-i18next/serverSideTranslations";
+import Link from "next/link";
+import { ActionButton } from "../components/atoms/ActionButton";
+import { useEffect, useState } from "react";
+import { useRouter } from "next/router";
+import aemServiceInstance from "../services/aemServiceInstance";
+ 
+export default function error404(props) {
+  const { t } = useTranslation("common");
+  const [loaded, setLoaded] = useState(false);
+  const router = useRouter();
+  const [pageData] = useState(props.pageData.item);
+ 
+  useEffect(() => {
+    Iif (props.adobeAnalyticsUrl) {
+      window.adobeDataLayer = window.adobeDataLayer || [];
+      window.adobeDataLayer.push({ event: "pageLoad" });
+    }
+ 
+    //If using Internet Explorer, redirect to /notsupported
+    Iif (window.document.documentMode) {
+      router.push("/notsupported");
+    } else {
+      setLoaded(true);
+    }
+  }, []);
+ 
+  //If using Internet Explorer, render empty page so page doesn't flash before redirect
+  if (!loaded) {
+    return <div></div>;
+  }
+ 
+  return (
+    <>
+      <Head>
+        {/* Primary HTML Meta Tags */}
+        <title data-gc-analytics-error="404">
+          {pageData.scContentEn.json[0].content[0].value} (404) |{" "}
+          {pageData.scContentFr.json[0].content[0].value} (404)
+        </title>
+        <meta name="description" content={`${t("404errorMetaDescription")}`} />
+        <meta name="author" content="Service Canada" />
+        <link rel="icon" href="/favicon.ico" />
+        <link rel="schema.dcterms" href="http://purl.org/dc/terms/" />
+ 
+        {/* DCMI Meta Tags */}
+        <meta name="dcterms.title" content={`404 — ${t("siteTitle")}`} />
+        <meta
+          name="dcterms.language"
+          content={props.locale === "en" ? "eng" : "fra"}
+          title="ISO639-2/T"
+        />
+        <meta
+          name="dcterms.description"
+          content={`${t("404errorMetaDescription")}`}
+        />
+        <meta
+          name="dcterms.subject"
+          title="gccore"
+          content={t("metaSubject")}
+        />
+        <meta
+          name="dcterms.creator"
+          content={
+            props.locale === "en"
+              ? "Employment and Social Development Canada"
+              : "Emploi et Développement social Canada"
+          }
+        />
+        <meta name="dcterms.accessRights" content="2" />
+        <meta name="dcterms.service" content="ESDC-EDSC_SCLabs-LaboratoireSC" />
+        <meta name="dcterms.issued" title="W3CDTF" content="2021-06-01" />
+        <meta name="dcterms.modified" title="W3CDTF" content="2021-12-16" />
+        <meta name="dcterms.spatial" content="Canada" />
+ 
+        {/* Open Graph / Facebook */}
+        <meta property="og:type" content="website" />
+        <meta property="og:locale" content={props.locale} />
+        <meta
+          property="og:url"
+          content={
+            "https://alpha.service.canada.ca/" + `${props.locale}` + "/404"
+          }
+        />
+        <meta property="og:title" content={`404 — ${t("siteTitle")}`} />
+        <meta
+          property="og:description"
+          content={`${t("404errorMetaDescription")}`}
+        />
+        <meta property="og:image" content={`${t("metaImage")}`} />
+        <meta property="og:image:alt" content={`${t("siteTitle")}`} />
+ 
+        {/* Twitter */}
+        <meta property="twitter:card" content="summary_large_image" />
+        <meta
+          property="twitter:url"
+          content={
+            "https://alpha.service.canada.ca/" + `${props.locale}` + "/404"
+          }
+        />
+        <meta property="twitter:title" content={`500 — ${t("siteTitle")}`} />
+        <meta name="twitter:creator" content="Service Canada" />
+        <meta
+          property="twitter:description"
+          content={`${t("404errorMetaDescription")}`}
+        />
+        <meta property="twitter:image" content={`${t("metaImage")}`} />
+        <meta property="twitter:image:alt" content={`${t("siteTitle")}`} />
+      </Head>
+      <div className="min-h-screen relative">
+        <section className="layout-container pb-44">
+          <div className="pt-6">
+            <img
+              src={`https://www.canada.ca${
+                props.locale === "en"
+                  ? pageData.scGcImages[0].scImageEn._path
+                  : pageData.scGcImages[0].scImageFr._path
+              }`}
+              alt={
+                props.locale === "en"
+                  ? pageData.scGcImages[0].scImageAltTextEn
+                  : pageData.scGcImages[0].scImageAltTextFr
+              }
+              width={575}
+              height={59}
+            />
+          </div>
+          <div className="flex flex-col lg:flex-row justify-between items-center lg:items-start mt-8">
+            <div>
+              <div className="relative h-auto xl:w-96 xxl:w-400px lg:w-72 xl:h-400px lg:h-500px mb-8 lg:mb-0">
+                <h1 className="font-bold font-display mb-4">
+                  {pageData.scContentEn.json[0].content[0].value}
+                </h1>
+                <p className="font-bold font-body mb-8">
+                  {pageData.scContentEn.json[1].content[0].value}
+                </p>
+                <p className="font-body text-sm mb-4 leading-30px">
+                  {pageData.scContentEn.json[2].content[0].value}
+                </p>
+                <div className="flex">
+                  <span className="error404-link" />
+                  <p className="font-body text-sm leading-30px">
+                    {pageData.scContentEn.json[3].content[0].value}
+                    <Link
+                      href="/en/home"
+                      locale={false}
+                      className="underline hover:text-canada-footer-hover-font-blue text-canada-footer-font"
+                    >
+                      {pageData.scContentEn.json[3].content[1].value}
+                    </Link>
+                  </p>
+                </div>
+              </div>
+            </div>
+            <div className="flex items-center justify-center circle-background my-8 mx-4 lg:mt-0 lightbulb-bg shrink-0">
+              <span className="relative lightbulb">
+                <img
+                  src={`https://www.canada.ca${
+                    props.locale === "en"
+                      ? pageData.scImageList[0].scImageEn._path
+                      : pageData.scImageList[0].scImageFr._path
+                  }`}
+                  alt=""
+                />
+              </span>
+            </div>
+            <div>
+              <div
+                className="relative h-auto xl:w-96 xxl:w-400px lg:w-72 xl:h-400px lg:h-500px mb-8 lg:mb-0"
+                lang="fr"
+              >
+                <h1 className="font-bold font-display mb-4">
+                  {pageData.scContentFr.json[0].content[0].value}
+                </h1>
+                <p className="font-bold font-body mb-8">
+                  {pageData.scContentFr.json[1].content[0].value}
+                </p>
+                <p className="font-body text-sm mb-4 leading-30px">
+                  {pageData.scContentFr.json[2].content[0].value}
+                </p>
+                <div className="flex">
+                  <span className="error404-link" />
+                  <p className="font-body text-sm leading-30px">
+                    {pageData.scContentFr.json[3].content[0].value}
+                    <Link
+                      href="/fr/accueil"
+                      locale={false}
+                      className="underline hover:text-canada-footer-hover-font-blue text-canada-footer-font"
+                    >
+                      {pageData.scContentFr.json[3].content[1].value}
+                    </Link>
+                  </p>
+                </div>
+              </div>
+            </div>
+          </div>
+        </section>
+        <footer className="h-100px w-screen bg-footer-background-color absolute bottom-0">
+          <div className="layout-container flex justify-between lg:flex-row-reverse pt-4 lg:pt-0 lg:mt-8">
+            <ActionButton
+              id="404TopOfPageButton"
+              href="#"
+              custom="text-left w-32 flex flex-col lg:hidden"
+              text="Top of page / Haut de la page"
+              icon="icon-up-caret"
+              iconEnd
+            />
+            <span className="relative footer-logo">
+              <img
+                src={`https://www.canada.ca${
+                  props.locale === "en"
+                    ? pageData.scGcImages[1].scImageEn._path
+                    : pageData.scGcImages[1].scImageFr._path
+                }`}
+                alt={
+                  props.locale === "en"
+                    ? pageData.scGcImages[1].scImageAltTextEn
+                    : pageData.scGcImages[1].scImageAltTextFr
+                }
+              />
+            </span>
+          </div>
+        </footer>
+      </div>
+    </>
+  );
+}
+ 
+export const getStaticProps = async ({ locale }) => {
+  const { data } = await aemServiceInstance.getFragment("error404Query");
+ 
+  return {
+    props: {
+      locale: locale,
+      adobeAnalyticsUrl: process.env.ADOBE_ANALYTICS_URL ?? null,
+      ...(await serverSideTranslations("en", ["common"])),
+      ...(await serverSideTranslations("fr", ["common"])),
+      pageData: data.sclabsErrorpageV1ByPath,
+    },
+  };
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/pages/500.js.html b/main/coverage/lcov-report/pages/500.js.html new file mode 100644 index 0000000000..7e8705ade4 --- /dev/null +++ b/main/coverage/lcov-report/pages/500.js.html @@ -0,0 +1,901 @@ + + + + + + Code coverage report for pages/500.js + + + + + + + + + +
+
+

All files / pages 500.js

+
+ +
+ 76.92% + Statements + 20/26 +
+ + +
+ 40% + Branches + 8/20 +
+ + +
+ 66.66% + Functions + 2/3 +
+ + +
+ 80% + Lines + 20/25 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +2731x +1x +1x +1x +1x +1x +1x +1x +  +1x +2x +2x +2x +2x +  +2x +1x +  +  +  +  +  +1x +  +  +1x +  +  +  +  +2x +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  + 
import Head from "next/head";
+import { useTranslation } from "next-i18next";
+import { serverSideTranslations } from "next-i18next/serverSideTranslations";
+import Link from "next/link";
+import { ActionButton } from "../components/atoms/ActionButton";
+import { useEffect, useState } from "react";
+import { useRouter } from "next/router";
+import aemServiceInstance from "../services/aemServiceInstance";
+ 
+export default function error500(props) {
+  const { t } = useTranslation("common");
+  const [loaded, setLoaded] = useState(false);
+  const router = useRouter();
+  const [pageData] = useState(props.pageData.item);
+ 
+  useEffect(() => {
+    Iif (props.adobeAnalyticsUrl) {
+      window.adobeDataLayer = window.adobeDataLayer || [];
+      window.adobeDataLayer.push({ event: "pageLoad" });
+    }
+ 
+    //If using Internet Explorer, redirect to /notsupported
+    Iif (window.document.documentMode) {
+      router.push("/notsupported");
+    } else {
+      setLoaded(true);
+    }
+  }, []);
+ 
+  //If using Internet Explorer, render empty page so page doesn't flash before redirect
+  if (!loaded) {
+    return <div></div>;
+  }
+ 
+  return (
+    <>
+      <Head>
+        {/* Primary HTML Meta Tags */}
+        <title data-gc-analytics-error="500">
+          {pageData.scContentEn.json[0].content[0].value} (500) |{" "}
+          {pageData.scContentFr.json[0].content[0].value} (500)
+        </title>
+        <meta
+          name="description"
+          content="Error message stating that the server is down, or the URL is incorrect or expired"
+        />
+        <meta name="author" content="Service Canada" />
+        <link rel="icon" href="/favicon.ico" />
+        <link rel="schema.dcterms" href="http://purl.org/dc/terms/" />
+        <meta content="width=device-width, initial-scale=1" name="viewport" />
+        <meta name="robots" content="noindex, nofollow" />
+ 
+        {/* DCMI Meta Tags */}
+        <meta
+          property="dcterms:title"
+          lang="en"
+          content="The web site has reported an error (500)"
+        />
+        <meta
+          property="dcterms:title"
+          lang="fr"
+          content="Le site Web a signalé une erreur (500)"
+        />
+        <meta
+          name="dcterms.language"
+          content={props.locale === "en" ? "eng" : "fra"}
+          title="ISO639-2"
+        />
+        <meta
+          property="dcterms:description"
+          lang="en"
+          content="Error message stating that the server is down, or the URL is incorrect or expired."
+        />
+        <meta
+          property="dcterms:description"
+          lang="fr"
+          content="Message d’erreur indiquant que le serveur est en panne ou l’URL est incorrecte ou expirée."
+        />
+        <meta property="dcterms:creator" lang="en" content="Service Canada" />
+        <meta property="dcterms:creator" lang="fr" content="Service Canada" />
+        <meta
+          property="dcterms:subject"
+          lang="en"
+          title="gccore"
+          content="GV Government and Politics;Government services"
+        />
+        <meta
+          property="dcterms:subject"
+          lang="fr"
+          title="gccore"
+          content="GV Gouvernement et vie politique;Services gouvernementaux"
+        />
+        <meta name="dcterms.accessRights" content="2" />
+        <meta name="dcterms.service" content="ESDC-EDSC_SCLabs-LaboratoireSC" />
+        <meta name="dcterms.issued" title="W3CDTF" content="2021-06-22" />
+        <meta name="dcterms.modified" title="W3CDTF" content="2021-12-16" />
+        <meta property="dcterms:issued" content="2021-06-22" />
+        <meta property="dcterms:modified" content="2021-MM-DD" />
+ 
+        {/* Open Graph / Facebook */}
+        <meta property="og:type" content="website" />
+        <meta property="og:locale" content={props.locale} />
+        <meta
+          property="og:url"
+          content={
+            "https://alpha.service.canada.ca/" + `${props.locale}` + "/500"
+          }
+        />
+        <meta
+          property="og:title"
+          content="The web site has reported an error (500) | Le site Web a signalé une
+          erreur (500)"
+        />
+        <meta
+          property="og:description"
+          content="Error message stating that the server is down, or the URL is incorrect or expired"
+        />
+        <meta property="og:image" content={`${t("metaImage")}`} />
+        <meta property="og:image:alt" content={`${t("siteTitle")}`} />
+ 
+        {/* Twitter */}
+        <meta property="twitter:card" content="summary_large_image" />
+        <meta
+          property="twitter:url"
+          content={
+            "https://alpha.service.canada.ca/" + `${props.locale}` + "/500"
+          }
+        />
+        <meta
+          property="twitter:title"
+          content="Error message stating that the server is down, or the URL is incorrect or expired"
+        />
+        <meta name="twitter:creator" content="Service Canada" />
+        <meta
+          property="twitter:description"
+          content="Error message stating that the server is down, or the URL is incorrect or expired"
+        />
+        <meta property="twitter:image" content={`${t("metaImage")}`} />
+        <meta property="twitter:image:alt" content={`${t("siteTitle")}`} />
+      </Head>
+      <div className="min-h-screen relative">
+        <section className="layout-container pb-44">
+          <div className="pt-6">
+            <img
+              src={`https://www.canada.ca${
+                props.locale === "en"
+                  ? pageData.scGcImages[0].scImageEn._path
+                  : pageData.scGcImages[0].scImageFr._path
+              }`}
+              alt={
+                props.locale === "en"
+                  ? pageData.scGcImages[0].scImageAltTextEn
+                  : pageData.scGcImages[0].scImageAltTextFr
+              }
+              width={575}
+              height={59}
+            />
+          </div>
+          <div className="flex flex-col lg:flex-row justify-between items-center lg:items-start mt-8">
+            <div>
+              <div className="relative h-auto xl:w-96 xxl:w-400px lg:w-72 xl:h-400px lg:h-500px mb-8 lg:mb-0">
+                <h1 className="font-bold font-display mb-4">
+                  {pageData.scContentEn.json[0].content[0].value}
+                </h1>
+                <p className="font-bold font-body mb-8">
+                  {pageData.scContentEn.json[1].content[0].value}
+                </p>
+                <p className="font-body text-sm mb-4 leading-30px">
+                  {pageData.scContentEn.json[2].content[0].value}
+                </p>
+                <div className="flex">
+                  <span className="error404-link" />
+                  <p className="font-body text-sm leading-30px">
+                    {pageData.scContentEn.json[3].content[0].value}
+                    <Link
+                      href="/en/home"
+                      locale={false}
+                      className="underline hover:text-canada-footer-hover-font-blue text-canada-footer-font"
+                    >
+                      {pageData.scContentEn.json[3].content[1].value}
+                    </Link>
+                  </p>
+                </div>
+              </div>
+            </div>
+            <div className="flex items-center justify-center circle-background my-8 lg:mt-0 lightbulb-bg">
+              <span className="relative lightbulb">
+                <img
+                  src={`https://www.canada.ca${
+                    props.locale === "en"
+                      ? pageData.scImageList[0].scImageEn._path
+                      : pageData.scImageList[0].scImageFr._path
+                  }`}
+                  alt=""
+                />
+              </span>
+            </div>
+            <div>
+              <div
+                className="relative h-auto xl:w-96 xxl:w-400px lg:w-72 xl:h-400px lg:h-500px mb-8 lg:mb-0"
+                lang="fr"
+              >
+                <h1 className="font-bold font-display mb-4">
+                  {pageData.scContentFr.json[0].content[0].value}
+                </h1>
+                <p className="font-bold font-body mb-8">
+                  {pageData.scContentFr.json[1].content[0].value}
+                </p>
+                <p className="font-body text-sm mb-4 leading-30px">
+                  {pageData.scContentFr.json[2].content[0].value}
+                </p>
+                <div className="flex">
+                  <span className="error50-link" />
+                  <p className="font-body text-sm leading-30px">
+                    {pageData.scContentFr.json[3].content[0].value}
+                    <Link
+                      href="/fr/accueil"
+                      locale={false}
+                      className="underline hover:text-canada-footer-hover-font-blue text-canada-footer-font"
+                    >
+                      {pageData.scContentFr.json[3].content[1].value}
+                    </Link>
+                  </p>
+                </div>
+              </div>
+            </div>
+          </div>
+        </section>
+        <footer className="h-100px w-screen bg-footer-background-color absolute bottom-0">
+          <div className="layout-container flex justify-between lg:flex-row-reverse pt-4 lg:pt-0 lg:mt-8">
+            <ActionButton
+              id="404TopOfPageButton"
+              href="#"
+              custom="text-left w-32 flex flex-col lg:hidden"
+              text="Top of page / Haut de la page"
+              icon="icon-up-caret"
+              iconEnd
+            />
+            <span className="relative footer-logo">
+              <img
+                src={`https://www.canada.ca${
+                  props.locale === "en"
+                    ? pageData.scGcImages[1].scImageEn._path
+                    : pageData.scGcImages[1].scImageFr._path
+                }`}
+                alt={
+                  props.locale === "en"
+                    ? pageData.scGcImages[1].scImageAltTextEn
+                    : pageData.scGcImages[1].scImageAltTextFr
+                }
+              />
+            </span>
+          </div>
+        </footer>
+      </div>
+    </>
+  );
+}
+ 
+export const getStaticProps = async ({ locale }) => {
+  const { data } = await aemServiceInstance.getFragment("error500Query");
+ 
+  return {
+    props: {
+      locale: locale,
+      adobeAnalyticsUrl: process.env.ADOBE_ANALYTICS_URL ?? null,
+      ...(await serverSideTranslations("en", ["common"])),
+      ...(await serverSideTranslations("fr", ["common"])),
+      pageData: data.sclabsErrorpageV1ByPath,
+    },
+  };
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/pages/_app.js.html b/main/coverage/lcov-report/pages/_app.js.html new file mode 100644 index 0000000000..8323a8df4c --- /dev/null +++ b/main/coverage/lcov-report/pages/_app.js.html @@ -0,0 +1,184 @@ + + + + + + Code coverage report for pages/_app.js + + + + + + + + + +
+
+

All files / pages _app.js

+
+ +
+ 0% + Statements + 0/13 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { appWithTranslation } from "next-i18next";
+import "../styles/globals.css";
+import "../styles/forms.css";
+import "../styles/menu.css";
+import Head from "next/head";
+import { config } from "@fortawesome/fontawesome-svg-core";
+import "@fortawesome/fontawesome-svg-core/styles.css";
+import { Noto_Sans, Lato } from "next/font/google";
+ 
+config.autoAddCss = false;
+ 
+const notoSans = Noto_Sans({
+  subsets: ["latin"],
+  weight: ["300", "400", "700", "900"],
+  variable: "--font-notoSans",
+});
+const lato = Lato({
+  subsets: ["latin"],
+  weight: ["300", "400", "700", "900"],
+  variable: "--font-lato",
+});
+ 
+function MyApp({ Component, pageProps }) {
+  return (
+    <>
+      <main className={`${notoSans.variable} ${lato.variable}`}>
+        <Component {...pageProps} />
+      </main>
+    </>
+  );
+}
+ 
+export default appWithTranslation(MyApp);
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/pages/api/healthcheck.js.html b/main/coverage/lcov-report/pages/api/healthcheck.js.html new file mode 100644 index 0000000000..e1d97d2840 --- /dev/null +++ b/main/coverage/lcov-report/pages/api/healthcheck.js.html @@ -0,0 +1,97 @@ + + + + + + Code coverage report for pages/api/healthcheck.js + + + + + + + + + +
+
+

All files / pages/api healthcheck.js

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5  +  +  +  + 
// TODO: add checks for the status of the CMS
+export default function handler(req, res) {
+  res.status(200).json({ message: "Status OK" });
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/pages/api/index.html b/main/coverage/lcov-report/pages/api/index.html new file mode 100644 index 0000000000..ce463df00d --- /dev/null +++ b/main/coverage/lcov-report/pages/api/index.html @@ -0,0 +1,161 @@ + + + + + + Code coverage report for pages/api + + + + + + + + + +
+
+

All files pages/api

+
+ +
+ 90.24% + Statements + 37/41 +
+ + +
+ 87.5% + Branches + 14/16 +
+ + +
+ 75% + Functions + 3/4 +
+ + +
+ 90% + Lines + 36/40 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
healthcheck.js +
+
0%0/2100%0/00%0/10%0/2
report-a-problem.js +
+
87.5%14/1680%8/10100%1/186.66%13/15
robots.js +
+
100%11/11100%2/2100%1/1100%11/11
submit-feedback.js +
+
100%12/12100%4/4100%1/1100%12/12
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/pages/api/report-a-problem.js.html b/main/coverage/lcov-report/pages/api/report-a-problem.js.html new file mode 100644 index 0000000000..dc63af6024 --- /dev/null +++ b/main/coverage/lcov-report/pages/api/report-a-problem.js.html @@ -0,0 +1,274 @@ + + + + + + Code coverage report for pages/api/report-a-problem.js + + + + + + + + + +
+
+

All files / pages/api report-a-problem.js

+
+ +
+ 87.5% + Statements + 14/16 +
+ + +
+ 80% + Branches + 8/10 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 86.66% + Lines + 13/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +641x +  +  +  +  +  +  +5x +  +5x +  +  +  +2x +  +3x +3x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +2x +1x +  +1x +1x +  +  +1x +1x +  +  +  +  +  +  +  +  +5x + 
import { submitEmail } from "../../lib/notify/submitEmail";
+ 
+/**
+ * API handler for report a problem functionality. This will take form submissions
+ * and call GC Notify service with the appropriate template and data
+ */
+async function handler(req, res) {
+  if (req.method === "POST") {
+    // if there is no data specified we don't want to call notify
+    if (
+      Object.keys(req.body).length <= 1 ||
+      !process.env.REPORT_A_PROBLEM_ENABLED
+    ) {
+      res.status(200).end("OK");
+    } else {
+      try {
+        const notifyResponse = await submitEmail(
+          {
+            ...req.body,
+            page_name: req.headers.referer || "unknown",
+          },
+          {
+            page_name: "unknown",
+            language: "unknown",
+            incorrect_information: "no",
+            incorrect_information_details: "",
+            unclear_information: "no",
+            unclear_information_details: "",
+            info_not_found: "no",
+            info_not_found_details: "",
+            adaptive_technology: "no",
+            adaptive_technology_details: "",
+            privacy_issues: "no",
+            privacy_issues_details: "",
+            no_where_else_to_go: "no",
+            no_where_else_to_go_details: "",
+            other: "no",
+            other_details: "",
+          },
+          process.env.NOTIFY_REPORT_A_PROBLEM_TEMPLATE_ID,
+          process.env.NEXT_PUBLIC_NOTIFY_REPORT_A_PROBLEM_EMAIL,
+          process.env.NOTIFY_BASE_API_URL + "/v2/notifications/email",
+          process.env.NOTIFY_API_KEY
+        );
+ 
+        if (notifyResponse[0] === 201) {
+          res.status(200).end("OK");
+        } else {
+          console.error(notifyResponse[1]);
+          res.status(500).end("ERROR");
+        }
+      } catch (e) {
+        console.error(e);
+        res.status(500).end("ERROR");
+      }
+    }
+  } else E{
+    res.setHeader("Allow", ["POST"]);
+    res.status(405).end(`Method ${req.method} Not Allowed`);
+  }
+}
+ 
+export default handler;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/pages/api/robots.js.html b/main/coverage/lcov-report/pages/api/robots.js.html new file mode 100644 index 0000000000..5de2c0c03a --- /dev/null +++ b/main/coverage/lcov-report/pages/api/robots.js.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for pages/api/robots.js + + + + + + + + + +
+
+

All files / pages/api robots.js

+
+ +
+ 100% + Statements + 11/11 +
+ + +
+ 100% + Branches + 2/2 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 11/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21  +  +  +  +  +  +2x +2x +1x +1x +1x +1x +1x +1x +  +1x +1x +  +2x +  + 
/**
+ * Disallow web crawlers to scrape our dev site, while only blocking crawlers from scraping the api routes in production
+ * @param req
+ * @param res
+ * @returns {Promise<void>}
+ */
+export default async function handler(req, res) {
+  if (process.env.NODE_ENV === "production") {
+    res.write("User-agent: *\n");
+    res.write("Disallow: /api\n");
+    res.write("Disallow: /projects/*\n");
+    res.write("Disallow: /notsupported.js\n");
+    res.write("Disallow: /cdcp-apply\n");
+    res.write("Disallow: /rsdc-demander\n");
+  } else {
+    res.write("User-agent: *\n");
+    res.write("Disallow: /\n");
+  }
+  res.end();
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/pages/api/submit-feedback.js.html b/main/coverage/lcov-report/pages/api/submit-feedback.js.html new file mode 100644 index 0000000000..c772eed76a --- /dev/null +++ b/main/coverage/lcov-report/pages/api/submit-feedback.js.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for pages/api/submit-feedback.js + + + + + + + + + +
+
+

All files / pages/api submit-feedback.js

+
+ +
+ 100% + Statements + 12/12 +
+ + +
+ 100% + Branches + 4/4 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 12/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +  +3x +3x +3x +1x +  +2x +2x +2x +1x +  +1x +  +  +1x +1x +  +  +  + 
import { postFeedbackToGcNotify } from "../../lib/notify/postFeedbackToGcNotify";
+ 
+export default async function handler(req, res) {
+  const data = req.body;
+  if (!data["what-was-wrong"]) {
+    res.status(400).json({ message: "required field missing" });
+  } else {
+    try {
+      let r = await postFeedbackToGcNotify(data);
+      if (r.ok) {
+        res.status(200).json(data);
+      } else {
+        throw new Error("bad request");
+      }
+    } catch (e) {
+      console.error("Failed to post to GC Notify");
+      res.status(500).json({ message: "something went wrong" });
+    }
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/pages/cdcp-apply.js.html b/main/coverage/lcov-report/pages/cdcp-apply.js.html new file mode 100644 index 0000000000..2345edfc91 --- /dev/null +++ b/main/coverage/lcov-report/pages/cdcp-apply.js.html @@ -0,0 +1,514 @@ + + + + + + Code coverage report for pages/cdcp-apply.js + + + + + + + + + +
+
+

All files / pages cdcp-apply.js

+
+ +
+ 0% + Statements + 0/17 +
+ + +
+ 0% + Branches + 0/11 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/16 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import Head from "next/head";
+import { useTranslation } from "next-i18next";
+import { serverSideTranslations } from "next-i18next/serverSideTranslations";
+import { Layout } from "../components/organisms/Layout";
+import { ActionButton } from "../components/atoms/ActionButton";
+import { createBreadcrumbs } from "../lib/utils/createBreadcrumbs";
+import { useEffect } from "react";
+ 
+export default function CDCPLanding(props) {
+  const { t } = useTranslation("common");
+ 
+  const breadCrumbs = [
+    {
+      scTitleEn: "Benefits",
+      scTitleFr: "Prestations",
+      scPageNameEn: "https://www.canada.ca/en/services/benefits.html",
+      scPageNameFr: "https://www.canada.ca/fr/services/prestations.html",
+    },
+    {
+      scTitleEn: "Dental coverage",
+      scTitleFr: "Couverture dentaire",
+      scPageNameEn: "https://www.canada.ca/en/services/benefits/dental.html",
+      scPageNameFr:
+        "https://www.canada.ca/fr/services/prestations/dentaire.html",
+    },
+    {
+      scTitleEn: "Canadian Dental Care Plan",
+      scTitleFr: "Régime canadien de soins dentaires",
+      scPageNameEn:
+        "https://www.canada.ca/en/services/benefits/dental/dental-care-plan.html",
+      scPageNameFr:
+        "https://www.canada.ca/fr/services/prestations/dentaire/regime-soins-dentaires.html",
+    },
+  ];
+ 
+  useEffect(() => {
+    Iif (props.adobeAnalyticsUrl) {
+      window.adobeDataLayer = window.adobeDataLayer || [];
+      window.adobeDataLayer.push({ event: "pageLoad" });
+    }
+  }, []);
+ 
+  return (
+    <Layout
+      locale={props.locale}
+      langUrl={props.locale === "en" ? "/rsdc-demander" : "/cdcp-apply"}
+      dateModifiedOverride={"2024-04-30"}
+      excludeFooterFeedback={true}
+      breadcrumbItems={createBreadcrumbs(breadCrumbs, props.locale)}
+      showDisclaimer
+      preFooterTitle="Service Canada"
+      preFooterLink={t("cdcp.cdcpPreFooterLinkUrl")}
+      preFooterLinkText={t("cdcp.cdcpPreFooterLinkText")}
+    >
+      <Head>
+        {/* Primary HTML Meta Tags */}
+        <title>{t("cdcp.secondaryHeading")}</title>
+ 
+        {/* DCMI Meta Tags */}
+        <meta name="dcterms.title" content={t("cdcp.tertiaryHeading")} />
+        <meta
+          name="dcterms.language"
+          content={props.locale === "en" ? "eng" : "fra"}
+          title="ISO639-2/T"
+        />
+        <meta
+          name="dcterms.creator"
+          content={
+            props.locale === "en"
+              ? "Employment and Social Development Canada"
+              : "Emploi et Développement social Canada"
+          }
+        />
+        <meta name="dcterms.accessRights" content="2" />
+        <meta name="dcterms.service" content="ESDC-EDSC_SCLabs-LaboratoireSC" />
+        <meta name="dcterms.spatial" content="Canada" />
+ 
+        {/* Open Graph / Facebook */}
+        <meta property="og:type" content="website" />
+        <meta property="og:locale" content={props.locale} />
+      </Head>
+      <section className="layout-container">
+        <div className="grid grid-cols-12 gap-x-8">
+          <div className="col-span-12">
+            <p className="mt-12 text-multi-neutrals-grey85">
+              {t("cdcp.secondaryHeading")}
+            </p>
+            <h1
+              id="pageMainTitle"
+              className="mt-0 mb-8 pb-2 border-b border-multi-red-red50a"
+            >
+              {t("cdcp.primaryHeading")}
+            </h1>
+          </div>
+          <div className="col-span-12 xl:col-span-8">
+            <p>{t("cdcp.toCompleteApplication")}</p>
+            <ul className="list-disc mt-5">
+              <li className="ml-10">
+                <p>{t("cdcp.listItems.item1")}</p>
+              </li>
+              <li className="ml-10">
+                <p>{t("cdcp.listItems.item2")}</p>
+              </li>
+              <li className="ml-10">
+                <p>{t("cdcp.listItems.item3")}</p>
+              </li>
+              <li className="ml-10">
+                <p>{t("cdcp.listItems.item4")}</p>
+              </li>
+              <li className="ml-10">
+                <p>{t("cdcp.listItems.item5")}</p>
+              </li>
+            </ul>
+            <h2 className="mt-10 mb-10">{t("cdcp.headingH2")}</h2>
+            <p>{t("cdcp.clickButtonToApply")}</p>
+            <div className="mt-10">
+              <ActionButton
+                id="cdcp-button"
+                style="primary"
+                href={t("cdcp.buttonLink")}
+                custom="mb-8 !rounded-md"
+                text={t("cdcp.buttonText")}
+                icon="icon-chevron-right"
+                iconStyle="mt-0.5 ml-4"
+                iconEnd={true}
+              />
+            </div>
+          </div>
+        </div>
+      </section>
+    </Layout>
+  );
+}
+ 
+export const getStaticProps = async ({ locale }) => {
+  return {
+    props: {
+      locale: locale,
+      adobeAnalyticsUrl: process.env.ADOBE_ANALYTICS_URL ?? null,
+      ...(await serverSideTranslations(locale, ["common"])),
+    },
+  };
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/pages/error.js.html b/main/coverage/lcov-report/pages/error.js.html new file mode 100644 index 0000000000..d491bb26d2 --- /dev/null +++ b/main/coverage/lcov-report/pages/error.js.html @@ -0,0 +1,1426 @@ + + + + + + Code coverage report for pages/error.js + + + + + + + + + +
+
+

All files / pages error.js

+
+ +
+ 0% + Statements + 0/25 +
+ + +
+ 0% + Branches + 0/43 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/24 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 +421 +422 +423 +424 +425 +426 +427 +428 +429 +430 +431 +432 +433 +434 +435 +436 +437 +438 +439 +440 +441 +442 +443 +444 +445 +446 +447 +448  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import Head from "next/head";
+import Link from "next/link";
+import { ActionButton } from "../components/atoms/ActionButton";
+import { serverSideTranslations } from "next-i18next/serverSideTranslations";
+import { useTranslation } from "next-i18next";
+import { useRouter } from "next/router";
+import { useEffect, useState } from "react";
+import aemServiceInstance from "../services/aemServiceInstance";
+ 
+export default function ErrorPage(props) {
+  const { t } = useTranslation("common");
+  const { query } = useRouter();
+  const [pageData] = useState(props.pageData.item);
+ 
+  const statusCode = query.statusCode || "";
+  const errorTitle =
+    query.errorTitle || pageData.scContentEn.json[0].content[0].value;
+  const errorTitleFr =
+    query.errorTitleFr || pageData.scContentFr.json[0].content[0].value;
+  const errorMessage =
+    query.errorMessage || pageData.scContentEn.json[1].content[0].value;
+  const errorMessageFr =
+    query.errorMessageFr || pageData.scContentFr.json[1].content[0].value;
+ 
+  useEffect(() => {
+    Iif (props.adobeAnalyticsUrl) {
+      window.adobeDataLayer = window.adobeDataLayer || [];
+      window.adobeDataLayer.push({ event: "pageLoad" });
+    }
+  }, []);
+ 
+  return (
+    <>
+      <Head>
+        {/* Primary HTML Meta Tags */}
+        <title data-gc-analytics-error={props.statusCode}>
+          {pageData.scContentEn.json[0].content[0].value} |{" "}
+          {pageData.scContentFr.json[0].content[0].value}
+        </title>
+        <link rel="schema.dcterms" href="http://purl.org/dc/terms/" />
+        <meta content="width=device-width, initial-scale=1" name="viewport" />
+        <meta
+          name="description"
+          content={
+            props.locale === "en"
+              ? `${errorTitle}` + `${errorMessage}`
+              : `${errorTitleFr}` + `${errorMessageFr}`
+          }
+        />
+        <meta name="author" content="Service Canada" />
+        <link rel="icon" href="/favicon.ico" />
+        <meta name="robots" content="noindex, nofollow" />
+ 
+        {/* DCMI Meta Tags */}
+        <meta
+          property="dcterms:title"
+          lang="en"
+          content="The web site has reported an error"
+        />
+        <meta
+          property="dcterms:title"
+          lang="fr"
+          content="Le site Web a signalé une erreur"
+        />
+        <meta
+          name="dcterms.language"
+          content={props.locale === "en" ? "eng" : "fra"}
+          title="ISO639-2"
+        />
+        <meta property="dcterms:creator" lang="en" content="Service Canada" />
+        <meta property="dcterms:creator" lang="fr" content="Service Canada" />
+ 
+        <meta
+          property="dcterms:subject"
+          lang="en"
+          title="gccore"
+          content="GV Government and Politics;Government services"
+        />
+        <meta
+          property="dcterms:subject"
+          lang="fr"
+          title="gccore"
+          content="GV Gouvernement et vie politique;Services gouvernementaux"
+        />
+        <meta
+          property="dcterms:description"
+          lang="en"
+          content="Error message stating that the site has reported an error."
+        />
+        <meta
+          property="dcterms:description"
+          lang="fr"
+          content="Message d'erreur indiquant que le site a signalé une erreur."
+        />
+        <meta
+          name="dcterms.creator"
+          content={
+            props.locale === "en"
+              ? "Employment and Social Development Canada"
+              : "Emploi et Développement social Canada"
+          }
+        />
+ 
+        <meta name="dcterms.accessRights" content="2" />
+        <meta name="dcterms.service" content="ESDC-EDSC_SCLabs-LaboratoireSC" />
+        <meta name="dcterms.issued" title="W3CDTF" content="2021-06-28" />
+        <meta name="dcterms.modified" title="W3CDTF" content="2021-12-16" />
+        <meta property="dcterms:modified" content="2021-12-16" />
+        <meta property="dcterms:issued" content="2021-06-28" />
+        <meta
+          name="dcterms.subject"
+          content="GV Government and Politics;Government services"
+        />
+        <meta name="dcterms.language" title="ISO639-2" content="eng" />
+ 
+        {/* Open Graph / Facebook */}
+        <meta property="og:type" content="website" />
+        <meta property="og:locale" content={props.locale} />
+        <meta
+          property="og:url"
+          content={
+            "https://alpha.service.canada.ca/" + `${props.locale}` + "/error"
+          }
+        />
+        <meta
+          property="og:title"
+          content="The web site has reported an error | Le site Web a signalé une erreur"
+        />
+        <meta
+          property="og:description"
+          content={
+            props.locale === "en"
+              ? `${errorTitle}` + `${errorMessage}`
+              : `${errorTitleFr}` + `${errorMessageFr}`
+          }
+        />
+        <meta property="og:image" content={`${t("metaImage")}`} />
+        <meta property="og:image:alt" content={`${t("siteTitle")}`} />
+ 
+        {/* Twitter */}
+        <meta property="twitter:card" content="summary_large_image" />
+        <meta
+          property="twitter:url"
+          content={
+            "https://alpha.service.canada.ca/" + `${props.locale}` + "/error"
+          }
+        />
+        <meta
+          property="twitter:title"
+          content="The web site has reported an error | Le site Web a signalé une erreur"
+        />
+        <meta name="twitter:creator" content="Service Canada" />
+        <meta
+          property="twitter:description"
+          content={
+            props.locale === "en"
+              ? `${errorTitle}` + `${errorMessage}`
+              : `${errorTitleFr}` + `${errorMessageFr}`
+          }
+        />
+        <meta property="twitter:image" content={`${t("metaImage")}`} />
+        <meta property="twitter:image:alt" content={`${t("siteTitle")}`} />
+      </Head>
+      <div className="min-h-screen relative">
+        <section className="layout-container pb-44">
+          <div className="pt-6">
+            <img
+              src={`https://www.canada.ca${
+                props.locale === "en"
+                  ? pageData.scGcImages[0].scImageEn._path
+                  : pageData.scGcImages[0].scImageFr._path
+              }`}
+              alt={
+                props.locale === "en"
+                  ? pageData.scGcImages[0].scImageAltTextEn
+                  : pageData.scGcImages[0].scImageAltTextFr
+              }
+              width={575}
+              height={59}
+            />
+          </div>
+          <div className="flex flex-col lg:flex-row justify-between items-center lg:items-start mt-8">
+            {/* Left Side (English section) */}
+            <div>
+              <div className="relative h-auto xl:w-96 xxl:w-400px lg:w-72 lg:h-500px mb-8 lg:mb-0">
+                <h1
+                  className="font-bold font-display mb-4"
+                  data-testid="heading-en"
+                >
+                  {errorTitle}
+                </h1>
+                {statusCode ? (
+                  <p
+                    className="font-bold font-body mb-8"
+                    data-testid="statuscode-en"
+                  >
+                    {pageData.scContentEn.json[2].content[0].value} {statusCode}
+                  </p>
+                ) : (
+                  ""
+                )}
+                <p
+                  className="font-body text-p font-bold mb-4 leading-30px"
+                  data-testid="errormessage-en"
+                >
+                  {errorMessage}
+                </p>
+                {errorMessage === "Wrong URL" ? (
+                  <>
+                    {/* Wrong URL English Section */}
+                    <p className="font-body text-sm leading-30px mb-5">
+                      {pageData.scContentEn.json[3].content[0].value}
+                    </p>
+                    <ul>
+                      <li className="flex">
+                        <span className="error404-link" />
+                        <p className="font-body text-sm leading-30px">
+                          {pageData.scContentEn.json[4].content[0].value}
+                        </p>
+                      </li>
+                      <li className="flex">
+                        <span className="error404-link" />
+                        <p className="font-body text-sm leading-30px">
+                          {pageData.scContentEn.json[5].content[0].value}
+                          <a
+                            href={`mailto:${process.env.NEXT_PUBLIC_NOTIFY_REPORT_A_PROBLEM_EMAIL}`}
+                            className="text-custom-blue-link underline"
+                          >
+                            {
+                              process.env
+                                .NEXT_PUBLIC_NOTIFY_REPORT_A_PROBLEM_EMAIL
+                            }
+                          </a>{" "}
+                          {pageData.scContentEn.json[6].content[0].value}
+                        </p>
+                      </li>
+                    </ul>
+                    <p className="font-body text-sm leading-30px mt-5">
+                      {pageData.scContentEn.json[7].content[0].value}
+                    </p>
+                  </>
+                ) : errorMessage === "Expired URL" ? (
+                  <>
+                    {/* Expired URL English Section */}
+                    <p className="font-body text-sm leading-30px mb-5">
+                      {pageData.scContentEn.json[8].content[0].value}
+                    </p>
+                    <ul>
+                      <li className="flex">
+                        <span className="error404-link" />
+                        <p className="font-body text-sm leading-30px">
+                          <Link
+                            href="/en/home"
+                            locale={false}
+                            className="underline hover:text-canada-footer-hover-font-blue text-canada-footer-font"
+                          >
+                            {pageData.scContentEn.json[9].content[0].value}
+                          </Link>{" "}
+                          {pageData.scContentEn.json[9].content[1].value}
+                        </p>
+                      </li>
+                    </ul>
+                    <p className="font-body text-sm leading-30px mt-5">
+                      {pageData.scContentEn.json[7].content[0].value}
+                    </p>
+                  </>
+                ) : (
+                  /* General Error English Section */
+                  <div className="flex">
+                    <span className="error404-link" />
+                    <p className="font-body text-sm leading-30px">
+                      {pageData.scContentEn.json[10].content[0].value}
+                      <Link
+                        href="/en/home"
+                        locale={false}
+                        className="underline hover:text-canada-footer-hover-font-blue text-canada-footer-font"
+                      >
+                        {pageData.scContentEn.json[10].content[1].value}
+                      </Link>
+                    </p>
+                  </div>
+                )}
+              </div>
+            </div>
+            <div className="flex items-center justify-center circle-background my-8 lg:mt-0 lightbulb-bg">
+              <span className="relative lightbulb">
+                <img
+                  src={`https://www.canada.ca${
+                    props.locale === "en"
+                      ? pageData.scImageList[0].scImageEn._path
+                      : pageData.scImageList[0].scImageFr._path
+                  }`}
+                  alt=""
+                />
+              </span>
+            </div>
+            {/* Right Side (French section) */}
+            <div>
+              <div
+                className="relative h-auto xl:w-96 xxl:w-400px lg:w-72 lg:h-500px mb-8 lg:mb-0"
+                lang="fr"
+              >
+                <h1
+                  className="font-bold font-display mb-4"
+                  data-testid="heading-fr"
+                >
+                  {errorTitleFr}
+                </h1>
+                {statusCode ? (
+                  <p
+                    className="font-bold font-body mb-8"
+                    data-testid="statuscode-fr"
+                  >
+                    {pageData.scContentFr.json[2].content[0].value} {statusCode}
+                  </p>
+                ) : (
+                  ""
+                )}
+                <p
+                  className="font-body text-p font-bold mb-4 leading-30px"
+                  data-testid="errormessage-fr"
+                >
+                  {errorMessageFr}
+                </p>
+                {errorMessageFr === "URL erronée" ? (
+                  <>
+                    {/* Wrong URL French Section */}
+                    <p className="font-body text-sm leading-30px mb-5">
+                      {pageData.scContentFr.json[3].content[0].value}
+                    </p>
+                    <ul>
+                      <li className="flex">
+                        <span className="error404-link" />
+                        <p className="font-body text-sm leading-30px">
+                          {pageData.scContentFr.json[4].content[0].value}
+                        </p>
+                      </li>
+                      <li className="flex">
+                        <span className="error404-link" />
+                        <p className="font-body text-sm leading-30px">
+                          {pageData.scContentFr.json[5].content[0].value}
+                          <a
+                            href={`mailto:${process.env.NEXT_PUBLIC_NOTIFY_REPORT_A_PROBLEM_EMAIL}`}
+                            className="text-custom-blue-link underline"
+                          >
+                            {
+                              process.env
+                                .NEXT_PUBLIC_NOTIFY_REPORT_A_PROBLEM_EMAIL
+                            }
+                          </a>{" "}
+                          {pageData.scContentFr.json[6].content[0].value}
+                        </p>
+                      </li>
+                    </ul>
+                    <p className="font-body text-sm leading-30px mt-5">
+                      {pageData.scContentFr.json[7].content[0].value}
+                    </p>
+                  </>
+                ) : errorMessageFr === "URL expirée" ? (
+                  <>
+                    {/* Expired URL French Section */}
+                    <p className="font-body text-sm leading-30px mb-5">
+                      {pageData.scContentFr.json[8].content[0].value}
+                    </p>
+                    <ul>
+                      <li className="flex">
+                        <span className="error404-link" />
+                        <p className="font-body text-sm leading-30px">
+                          <Link
+                            href="/fr/accueil"
+                            locale={false}
+                            className="underline hover:text-canada-footer-hover-font-blue text-canada-footer-font"
+                          >
+                            {pageData.scContentFr.json[9].content[0].value}
+                          </Link>
+                          {pageData.scContentFr.json[9].content[1].value}
+                        </p>
+                      </li>
+                    </ul>
+                    <p className="font-body text-sm leading-30px mt-5">
+                      {pageData.scContentFr.json[7].content[0].value}
+                    </p>
+                  </>
+                ) : (
+                  /* General Error French Section */
+                  <div className="flex">
+                    <span className="error404-link" />
+                    <p className="font-body text-sm leading-30px">
+                      {pageData.scContentFr.json[10].content[0].value}
+                      <Link
+                        href="/fr/accueil"
+                        locale={false}
+                        className="underline hover:text-canada-footer-hover-font-blue text-canada-footer-font"
+                      >
+                        {pageData.scContentFr.json[10].content[1].value}
+                      </Link>
+                    </p>
+                  </div>
+                )}
+              </div>
+            </div>
+          </div>
+        </section>
+      </div>
+      <footer className="h-100px w-screen bg-footer-background-color absolute bottom-0">
+        <div className="layout-container flex justify-between lg:flex-row-reverse pt-4 lg:pt-0 lg:mt-8">
+          <ActionButton
+            id="errorTopOfPageButton"
+            href="#"
+            custom="text-left w-32 flex flex-col lg:hidden"
+            text="Top of page / Haut de la page"
+            icon="icon-up-caret"
+            iconEnd
+          />
+          <span className="relative footer-logo">
+            <img
+              src={`https://www.canada.ca${
+                props.locale === "en"
+                  ? pageData.scGcImages[1].scImageEn._path
+                  : pageData.scGcImages[1].scImageFr._path
+              }`}
+              alt={
+                props.locale === "en"
+                  ? pageData.scGcImages[1].scImageAltTextEn
+                  : pageData.scGcImages[1].scImageAltTextFr
+              }
+            />
+          </span>
+        </div>
+      </footer>
+    </>
+  );
+}
+ 
+export const getStaticProps = async ({ locale }) => {
+  const { data } = await aemServiceInstance.getFragment("customErrorQuery");
+ 
+  return {
+    props: {
+      locale: locale,
+      adobeAnalyticsUrl: process.env.ADOBE_ANALYTICS_URL ?? null,
+      ...(await serverSideTranslations("en", ["common"])),
+      ...(await serverSideTranslations("fr", ["common"])),
+      pageData: data.sclabsErrorpageV1ByPath,
+    },
+  };
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/pages/home.js.html b/main/coverage/lcov-report/pages/home.js.html new file mode 100644 index 0000000000..637349bc41 --- /dev/null +++ b/main/coverage/lcov-report/pages/home.js.html @@ -0,0 +1,1375 @@ + + + + + + Code coverage report for pages/home.js + + + + + + + + + +
+
+

All files / pages home.js

+
+ +
+ 78.78% + Statements + 26/33 +
+ + +
+ 44.87% + Branches + 35/78 +
+ + +
+ 71.42% + Functions + 5/7 +
+ + +
+ 80.64% + Lines + 25/31 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 +421 +422 +423 +424 +425 +426 +427 +428 +429 +430 +4311x +1x +1x +1x +1x +1x +1x +1x +1x +  +1x +2x +1x +  +1x +1x +  +  +  +  +  +1x +  +1x +  +  +  +  +  +  +  +  +1x +1x +6x +  +  +  +1x +  +  +  +  +1x +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import Head from "next/head";
+import { serverSideTranslations } from "next-i18next/serverSideTranslations";
+import { Layout } from "../components/organisms/Layout";
+import { useEffect } from "react";
+import Card from "../components/molecules/Card";
+import aemServiceInstance from "../services/aemServiceInstance";
+import { Heading } from "../components/molecules/Heading";
+import { ContextualAlert } from "../components/molecules/ContextualAlert";
+import Image from "next/image";
+ 
+export default function Home(props) {
+  const pageData = props.pageData?.item;
+  const experimentsData = props.experimentsData;
+ 
+  const currentProjects = experimentsData.filter((project) => {
+    return (
+      project.scLabProjectStatus[0] ===
+      "gc:custom/decd-endc/project-status/current"
+    );
+  });
+ 
+  const sortedProjects = (objects) => {
+    // Order to sort the projects
+    const sortOrder = [
+      "Benefits Finder",
+      "Making it easier to get benefits",
+      "Digital Standards Playbook",
+      "New dashboard for My Service Canada Account",
+      "Old Age Security Benefits Estimator",
+      "Benefits Navigator",
+    ];
+    // Create a lookup for efficient ordering
+    const titleOrder = {};
+    for (let i = 0; i < sortOrder.length; i++) {
+      titleOrder[sortOrder[i]] = i;
+    }
+ 
+    // Sort the objects based on the lookup
+    return objects.sort((a, b) => {
+      return titleOrder[a.scTitleEn] - titleOrder[b.scTitleEn];
+    });
+  };
+ 
+  const displayCurrentProjects = sortedProjects(currentProjects).map(
+    (project) => (
+      <li key={project.scId} className="list-none ml-0">
+        <Card
+          showImage
+          showTag={
+            project.scLabsNewExpiryDate &&
+            Date.now() <= new Date(project.scLabsNewExpiryDate)
+          }
+          tagLabel={
+            props.locale === "en" ? "New update" : "Nouvelle mise à jour"
+          }
+          tag="new_update"
+          imgSrc={
+            props.locale === "en"
+              ? project.scSocialMediaImageEn._publishUrl
+              : project.scSocialMediaImageFr._publishUrl
+          }
+          imgAlt={
+            props.locale === "en"
+              ? project.scSocialMediaImageAltTextEn
+              : project.scSocialMediaImageAltTextFr
+          }
+          imgHeight={
+            project.scSocialMediaImageEn.height
+              ? project.scSocialMediaImageEn.height
+              : ""
+          }
+          imgWidth={
+            project.scSocialMediaImageEn.width
+              ? project.scSocialMediaImageEn.width
+              : ""
+          }
+          title={props.locale === "en" ? project.scTitleEn : project.scTitleFr}
+          href={
+            props.locale === "en" ? project.scPageNameEn : project.scPageNameFr
+          }
+          description={
+            props.locale === "en"
+              ? project.scDescriptionEn.json[0].content[0].value
+              : project.scDescriptionFr.json[0].content[0].value
+          }
+        />
+      </li>
+    )
+  );
+ 
+  useEffect(() => {
+    Iif (props.adobeAnalyticsUrl) {
+      window.adobeDataLayer = window.adobeDataLayer || [];
+      window.adobeDataLayer.push({ event: "pageLoad" });
+    }
+  }, []);
+ 
+  return (
+    <>
+      <Layout
+        locale={props.locale}
+        langUrl={
+          props.locale === "en" ? pageData.scPageNameFr : pageData.scPageNameEn
+        }
+        dateModifiedOverride={pageData.scDateModifiedOverwrite}
+      >
+        <Head>
+          {/* Primary HTML Meta Tags */}
+          <title>
+            {props.locale === "en" ? pageData.scTitleEn : pageData.scTitleFr}
+          </title>
+          <meta
+            name="description"
+            content={
+              props.locale === "en"
+                ? pageData.scDescriptionEn.json[0].content[0].value
+                : pageData.scDescriptionFr.json[0].content[0].value
+            }
+          />
+          <meta name="author" content="Service Canada" />
+          <link rel="icon" href="/favicon.ico" />
+          <link rel="schema.dcterms" href="http://purl.org/dc/terms/" />
+          <meta
+            name="keywords"
+            content={
+              props.locale === "en"
+                ? pageData.scKeywordsEn
+                : pageData.scKeywordsFr
+            }
+          />
+ 
+          {/* DCMI Meta Tags */}
+          <meta
+            name="dcterms.title"
+            content={
+              props.locale === "en" ? pageData.scTitleEn : pageData.scTitleFr
+            }
+          />
+          <meta
+            name="dcterms.language"
+            content={props.locale === "en" ? "eng" : "fra"}
+            title="ISO639-2/T"
+          />
+          <meta
+            name="dcterms.description"
+            content={
+              props.locale === "en"
+                ? pageData.scDescriptionEn.json[0].content[0].value
+                : pageData.scDescriptionFr.json[0].content[0].value
+            }
+          />
+          <meta
+            name="dcterms.subject"
+            title="gccore"
+            content={pageData.scSubject}
+          />
+          <meta
+            name="dcterms.creator"
+            content={
+              props.locale === "en"
+                ? "Employment and Social Development Canada"
+                : "Emploi et Développement social Canada"
+            }
+          />
+          <meta name="dcterms.accessRights" content="2" />
+          <meta
+            name="dcterms.service"
+            content="ESDC-EDSC_SCLabs-LaboratoireSC"
+          />
+          <meta name="dcterms.issued" title="W3CDTF" content="2021-03-18" />
+          <meta name="dcterms.modified" title="W3CDTF" content="2021-12-16" />
+          <meta name="dcterms.spatial" content="Canada" />
+ 
+          {/* Open Graph / Facebook */}
+          <meta property="og:type" content="website" />
+          <meta property="og:locale" content={props.locale} />
+          <meta
+            property="og:url"
+            content={
+              "https://alpha.service.canada.ca" +
+              `${
+                props.locale === "en"
+                  ? pageData.scPageNameEn
+                  : pageData.scPageNameFr
+              }`
+            }
+          />
+          <meta
+            property="og:title"
+            content={
+              props.locale === "en" ? pageData.scTitleEn : pageData.scTitleFr
+            }
+          />
+          <meta
+            property="og:description"
+            content={
+              props.locale === "en"
+                ? pageData.scDescriptionEn.json[0].content[0].value
+                : pageData.scDescriptionFr.json[0].content[0].value
+            }
+          />
+          <meta
+            property="og:image"
+            content={pageData.scSocialMediaImageEn._publishUrl}
+          />
+          <meta
+            property="og:image:alt"
+            content={
+              props.locale === "en" ? pageData.scTitleEn : pageData.scTitleFr
+            }
+          />
+ 
+          {/* Twitter */}
+          <meta property="twitter:card" content="summary_large_image" />
+          <meta
+            property="twitter:url"
+            content={
+              "https://alpha.service.canada.ca" +
+              `${
+                props.locale === "en"
+                  ? pageData.scPageNameEn
+                  : pageData.scPageNameFr
+              }`
+            }
+          />
+          <meta
+            property="twitter:title"
+            content={
+              props.locale === "en" ? pageData.scTitleEn : pageData.scTitleFr
+            }
+          />
+          <meta name="twitter:creator" content="Service Canada" />
+          <meta
+            property="twitter:description"
+            content={
+              props.locale === "en"
+                ? pageData.scDescriptionEn.json[0].content[0].value
+                : pageData.scDescriptionFr.json[0].content[0].value
+            }
+          />
+          <meta
+            property="twitter:image"
+            content={pageData.scSocialMediaImageEn._publishUrl}
+          />
+          <meta
+            property="twitter:image:alt"
+            content={
+              props.locale === "en" ? pageData.scTitleEn : pageData.scTitleFr
+            }
+          />
+        </Head>
+        <section className="layout-container">
+          <div className="grid grid-cols-4">
+            <div className="col-span-4">
+              <Heading
+                tabIndex="-1"
+                id="pageMainTitle"
+                title={
+                  props.locale === "en"
+                    ? pageData.scTitleEn
+                    : pageData.scTitleFr
+                }
+              />
+            </div>
+            <p className="font-body col-span-4 xl:col-span-2 row-start-2">
+              {props.locale === "en"
+                ? pageData.scFragments[0].scContentEn.json[1].content[0].value
+                : pageData.scFragments[0].scContentFr.json[1].content[0].value}
+            </p>
+            <p className="font-body col-span-4 xl:col-span-2 row-start-3 pt-4 xxl:pt-0">
+              {props.locale === "en"
+                ? pageData.scFragments[0].scContentEn.json[2].content[0].value
+                : pageData.scFragments[0].scContentFr.json[2].content[0].value}
+            </p>
+            <div className="hidden xl:grid col-span-2 col-start-3 row-start-2 row-span-2">
+              <div className="flex justify-center">
+                <span
+                  className="w-full"
+                  style={{ height: "260px", width: "380px", minWidth: "380px" }}
+                  role="presentation"
+                >
+                  <Image
+                    src={
+                      props.locale === "en"
+                        ? pageData.scFragments[1].scImageEn._publishUrl
+                        : pageData.scFragments[1].scImageFr._publishUrl
+                    }
+                    alt=""
+                    width={pageData.scFragments[1].scImageEn.width}
+                    height={pageData.scFragments[1].scImageEn.height}
+                    sizes="35vw"
+                    priority
+                    quality={100}
+                  />
+                </span>
+              </div>
+            </div>
+          </div>
+          <div className="lg:flex">
+            <span className="w-full">
+              <h2>
+                {props.locale === "en"
+                  ? pageData.scFragments[0].scContentEn.json[3].content[0].value
+                  : pageData.scFragments[0].scContentFr.json[3].content[0]
+                      .value}{" "}
+              </h2>
+              <p className="font-body">
+                {props.locale === "en"
+                  ? pageData.scFragments[0].scContentEn.json[4].content[0].value
+                  : pageData.scFragments[0].scContentFr.json[4].content[0]
+                      .value}{" "}
+              </p>
+              <ul className="list-disc">
+                <li className="ml-10">
+                  <p className="font-body">
+                    {props.locale === "en"
+                      ? pageData.scFragments[0].scContentEn.json[5].content[0]
+                          .content[0].value
+                      : pageData.scFragments[0].scContentFr.json[5].content[0]
+                          .content[0].value}{" "}
+                  </p>
+                </li>
+                <li className="ml-10">
+                  <p className="font-body">
+                    {props.locale === "en"
+                      ? pageData.scFragments[0].scContentEn.json[5].content[1]
+                          .content[0].value
+                      : pageData.scFragments[0].scContentFr.json[5].content[1]
+                          .content[0].value}{" "}
+                  </p>
+                </li>
+              </ul>
+            </span>
+          </div>
+          <h2>
+            {props.locale === "en"
+              ? pageData.scFragments[0].scContentEn.json[6].content[0].value
+              : pageData.scFragments[0].scContentFr.json[6].content[0]
+                  .value}{" "}
+          </h2>
+          <div className="mb-8">
+            <ContextualAlert
+              id="info-alert"
+              type="info"
+              alert_icon_alt_text="info icon"
+              alert_icon_id="info icon"
+              message_heading={
+                props.locale === "en"
+                  ? pageData.scFragments[2].scTitleEn
+                  : pageData.scFragments[2].scTitleFr
+              }
+              message_body={
+                props.locale === "en" ? (
+                  <>
+                    {
+                      pageData.scFragments[2].scContentEn.json[0].content[0]
+                        .value
+                    }
+                    <a
+                      className="underline text-canada-footer-font hover:text-canada-footer-hover-font-blue"
+                      href={
+                        pageData.scFragments[2].scContentEn.json[0].content[1]
+                          .data.href
+                      }
+                    >
+                      {
+                        pageData.scFragments[2].scContentEn.json[0].content[1]
+                          .value
+                      }
+                    </a>
+                    {
+                      pageData.scFragments[2].scContentEn.json[0].content[2]
+                        .value
+                    }
+                  </>
+                ) : (
+                  <>
+                    {
+                      pageData.scFragments[2].scContentFr.json[0].content[0]
+                        .value
+                    }
+                    <a
+                      className="underline text-canada-footer-font hover:text-canada-footer-hover-font-blue"
+                      href={
+                        pageData.scFragments[2].scContentFr.json[0].content[1]
+                          .data.href
+                      }
+                    >
+                      {
+                        pageData.scFragments[2].scContentFr.json[0].content[1]
+                          .value
+                      }
+                    </a>
+                    {
+                      pageData.scFragments[2].scContentEn.json[0].content[2]
+                        .value
+                    }
+                  </>
+                )
+              }
+            />
+          </div>
+          <ul className="grid lg:grid-cols-2 gap-4 list-none ml-0">
+            {displayCurrentProjects}
+          </ul>
+        </section>
+      </Layout>
+    </>
+  );
+}
+ 
+export const getStaticProps = async ({ locale }) => {
+  const { data: pageData } = await aemServiceInstance.getFragment(
+    "homePageQuery"
+  );
+  const { data: experimentsData } = await aemServiceInstance.getFragment(
+    "projectQuery"
+  );
+ 
+  return {
+    props: {
+      locale: locale,
+      adobeAnalyticsUrl: process.env.ADOBE_ANALYTICS_URL ?? null,
+      pageData: pageData.sclabsPageV1ByPath,
+      experimentsData: experimentsData.sclabsPageV1List.items,
+      ...(await serverSideTranslations(locale, ["common"])),
+    },
+    revalidate: process.env.ISR_ENABLED === "true" ? 10 : false,
+  };
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/pages/index.html b/main/coverage/lcov-report/pages/index.html new file mode 100644 index 0000000000..01c762e6a9 --- /dev/null +++ b/main/coverage/lcov-report/pages/index.html @@ -0,0 +1,221 @@ + + + + + + Code coverage report for pages + + + + + + + + + +
+
+

All files pages

+
+ +
+ 51.66% + Statements + 93/180 +
+ + +
+ 31.85% + Branches + 72/226 +
+ + +
+ 46.42% + Functions + 13/28 +
+ + +
+ 54.11% + Lines + 92/170 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
404.js +
+
76.92%20/2640.9%9/2266.66%2/380%20/25
500.js +
+
76.92%20/2640%8/2066.66%2/380%20/25
_app.js +
+
0%0/13100%0/00%0/10%0/12
cdcp-apply.js +
+
0%0/170%0/110%0/30%0/16
error.js +
+
0%0/250%0/430%0/30%0/24
home.js +
+
78.78%26/3344.87%35/7871.42%5/780.64%25/31
index.js +
+
75%12/1611.11%1/966.66%2/385.71%12/14
notsupported.js +
+
62.5%15/2444.18%19/4340%2/565.21%15/23
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/pages/index.js.html b/main/coverage/lcov-report/pages/index.js.html new file mode 100644 index 0000000000..6c1740899b --- /dev/null +++ b/main/coverage/lcov-report/pages/index.js.html @@ -0,0 +1,667 @@ + + + + + + Code coverage report for pages/index.js + + + + + + + + + +
+
+

All files / pages index.js

+
+ +
+ 75% + Statements + 12/16 +
+ + +
+ 11.11% + Branches + 1/9 +
+ + +
+ 66.66% + Functions + 2/3 +
+ + +
+ 85.71% + Lines + 12/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +1951x +1x +1x +1x +1x +1x +  +1x +1x +  +1x +1x +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  + 
import Head from "next/head";
+import { serverSideTranslations } from "next-i18next/serverSideTranslations";
+import { useTranslation } from "next-i18next";
+import { ActionButton } from "../components/atoms/ActionButton";
+import Link from "next/link";
+import { useEffect } from "react";
+ 
+export default function Index(props) {
+  const { t } = useTranslation("common");
+ 
+  useEffect(() => {
+    Iif (props.adobeAnalyticsUrl) {
+      window.adobeDataLayer = window.adobeDataLayer || [];
+      window.adobeDataLayer.push({ event: "pageLoad" });
+    }
+    document.documentElement.lang = "en";
+  }, []);
+ 
+  return (
+    <>
+      <div className="splash-bg splash-image bg-splash-img-mobile xs:bg-splash-img bg-no-repeat fixed left-0 top-0 w-full h-full -z-1" />
+      <Head>
+        {/* Primary HTML Meta Tags */}
+        <title>Service Canada Labs | Laboratoires de Service Canada</title>
+        <meta
+          name="description"
+          content="Explore the Service Canada Labs in English or French."
+        />
+        <meta name="author" content="Service Canada" />
+        <link rel="icon" href="/favicon.ico" />
+        <link rel="schema.dcterms" href="http://purl.org/dc/terms/" />
+        <meta content="width=device-width, initial-scale=1" name="viewport" />
+        <meta name="robots" content="noindex, follow" />
+        {/* DCMI Meta Tags */}
+        <meta
+          property="dcterms:title"
+          lang="en"
+          content="Service Canada Labs"
+        />
+        <meta
+          property="dcterms:title"
+          lang="fr"
+          content="Laboratoires de Service Canada"
+        />
+        <meta
+          name="dcterms.language"
+          content={props.locale === "en" ? "eng" : "fra"}
+          title="ISO639-2"
+        />
+        <meta property="dcterms:creator" lang="en" content="Service Canada" />
+        <meta property="dcterms:creator" lang="fr" content="Service Canada" />
+        <meta name="dcterms.accessRights" content="2" />
+        <meta name="dcterms.service" content="ESDC-EDSC_SCLabs-LaboratoireSC" />
+        <meta name="dcterms.issued" content="2021-05-06" />
+        <meta property="dcterms:modified" content="2021-12-16" />
+        <meta name="dcterms.issued" title="W3CDTF" content="2021-05-06" />
+        <meta name="dcterms.modified" title="W3CDTF" content="2021-12-16" />
+        <meta
+          property="dcterms:description"
+          lang="en"
+          content="Explore the Service Canada Labs in English or French."
+        />
+        <meta
+          property="dcterms:description"
+          lang="fr"
+          content="Explorez les laboratoires de Service Canda en français ou en anglais."
+        />
+        <meta
+          property="dcterms:subject"
+          lang="en"
+          title="gccore"
+          content="GV Government and Politics;Government services"
+        />
+        <meta
+          property="dcterms:subject"
+          lang="fr"
+          title="gccore"
+          content="GV Gouvernement et vie politique;Services gouvernementaux"
+        />
+        {/* Open Graph / Facebook */}
+        <meta property="og:type" content="website" />
+        <meta property="og:locale" content={props.locale} />
+        <meta property="og:url" content={"https://alpha.service.canada.ca/"} />
+        <meta
+          property="og:title"
+          content="Service Canada Labs | Laboratoires de Service Canada"
+        />
+        <meta
+          property="og:description"
+          content="Explore the Service Canada Labs in English or French."
+        />
+        <meta property="og:image" content={`${t("metaImage")}`} />
+        <meta property="og:image:alt" content={`${t("siteTitle")}`} />
+        {/* Twitter */}
+        <meta property="twitter:card" content="summary_large_image" />
+        <meta
+          property="twitter:url"
+          content={"https://alpha.service.canada.ca/"}
+        />
+        <meta
+          property="twitter:title"
+          content="Service Canada Labs | Laboratoires de Service Canada"
+        />
+        <meta name="twitter:creator" content="Service Canada" />
+        <meta
+          property="twitter:description"
+          content="Explore the Service Canada Labs in English or French."
+        />
+        <meta property="twitter:image" content={`${t("metaImage")}`} />
+        <meta property="twitter:image:alt" content={`${t("siteTitle")}`} />
+        // Site ownership verification to use URL Inspection Tool
+        <meta
+          name="google-site-verification"
+          content="cJ7yrE6jUDOrRFwPgxPanWrgaRqI9l0qG0F9rqFhZxM"
+        />
+      </Head>
+      <div className="h-full flex justify-center">
+        <div className="splash-cta fixed flex flex-col sm:justify-center sm:items-center">
+          <div className="z-10 bg-white h-auto min-w-300px w-300px xl:w-500px">
+            <h1 className="sr-only">alpha.service.canada.ca</h1>
+            <div className="p-4">
+              <img
+                src={"/sig-blk-en.svg"}
+                alt={"Government of Canada / Gouvernement du Canada"}
+                width="300"
+                height="35"
+              />
+            </div>
+            <div className="flex w-max container mx-auto py-6 font-display">
+              <h2
+                className="text-p text-right xl:text-h4 mr-6 w-32 xl:w-40"
+                lang="en"
+              >
+                Service Canada Labs
+              </h2>
+              <h2 className="text-p xl:text-h4 w-32 xl:w-40" lang="fr">
+                Laboratoires de Service Canada
+              </h2>
+            </div>
+            <div className="flex w-max container pb-6 mx-auto font-display">
+              <ActionButton
+                id="english-button"
+                style="primary"
+                text="English"
+                lang="en"
+                custom="justify-center w-7.5rem xl:w-138px mr-6 text-lg"
+                href="/en/home"
+              />
+              <ActionButton
+                id="french-button"
+                style="primary"
+                text="Français"
+                href="/fr/accueil"
+                lang="fr"
+                custom="justify-center w-7.5rem xl:w-138px text-lg"
+              />
+            </div>
+          </div>
+          <div className="relative py-7 bg-splash-page-bottom text-p h-auto min-w-300px w-300px flex justify-between container p-6 xl:w-500px xl:items-center">
+            <div className="w-28 text-base xl:text-p xl:w-max font-body">
+              <Link
+                href="https://www.canada.ca/en/transparency/terms.html"
+                className="inline-block w-28 xl:w-max mr-0 hover:text-canada-footer-hover-font-blue text-canada-footer-font splash-link"
+              >
+                Terms & conditions
+              </Link>
+              <Link
+                href="https://www.canada.ca/fr/transparence/avis.html"
+                className="inline-block hover:text-canada-footer-hover-font-blue text-canada-footer-font"
+                lang="fr"
+              >
+                Avis
+              </Link>
+            </div>
+            <img
+              src="/wmms-blk.svg"
+              alt="Symbol of the Government of Canada / Symbole du gouvernement du Canada"
+              width="150"
+              height="25"
+            />
+          </div>
+        </div>
+      </div>
+    </>
+  );
+}
+ 
+export const getServerSideProps = async ({ locale }) => ({
+  props: {
+    locale: locale ?? "en",
+    adobeAnalyticsUrl: process.env.ADOBE_ANALYTICS_URL ?? null,
+    ...(await serverSideTranslations(locale, ["common"])),
+  },
+});
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/pages/notsupported.js.html b/main/coverage/lcov-report/pages/notsupported.js.html new file mode 100644 index 0000000000..f5273a22fa --- /dev/null +++ b/main/coverage/lcov-report/pages/notsupported.js.html @@ -0,0 +1,1531 @@ + + + + + + Code coverage report for pages/notsupported.js + + + + + + + + + +
+
+

All files / pages notsupported.js

+
+ +
+ 62.5% + Statements + 15/24 +
+ + +
+ 44.18% + Branches + 19/43 +
+ + +
+ 40% + Functions + 2/5 +
+ + +
+ 65.21% + Lines + 15/23 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 +421 +422 +423 +424 +425 +426 +427 +428 +429 +430 +431 +432 +433 +434 +435 +436 +437 +438 +439 +440 +441 +442 +443 +444 +445 +446 +447 +448 +449 +450 +451 +452 +453 +454 +455 +456 +457 +458 +459 +460 +461 +462 +463 +464 +465 +466 +467 +468 +469 +470 +471 +472 +473 +474 +475 +476 +477 +478 +479 +480 +481 +482 +4831x +1x +1x +1x +1x +1x +  +1x +  +1x +1x +1x +1x +1x +  +1x +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  + 
import Head from "next/head";
+import { useTranslation } from "next-i18next";
+import { serverSideTranslations } from "next-i18next/serverSideTranslations";
+import { ActionButton } from "../components/atoms/ActionButton";
+import { useEffect } from "react";
+import { CopyToClipboard } from "../components/molecules/CopyToClipboard";
+import { useState } from "react";
+import aemServiceInstance from "../services/aemServiceInstance";
+ 
+export default function notSupported(props) {
+  const { t } = useTranslation("common");
+  const [enCopied, setEnCopied] = useState(false);
+  const [frCopied, setFrCopied] = useState(false);
+  const [pageData] = useState(props.pageData.item);
+ 
+  useEffect(() => {
+    Iif (props.adobeAnalyticsUrl) {
+      window.adobeDataLayer = window.adobeDataLayer || [];
+      window.adobeDataLayer.push({ event: "pageLoad" });
+    }
+  }, []);
+ 
+  function onClickEn() {
+    setEnCopied(true);
+    setFrCopied(false);
+  }
+ 
+  function onClickFr() {
+    setFrCopied(true);
+    setEnCopied(false);
+  }
+  return (
+    <>
+      <Head>
+        {/* Primary HTML Meta Tags */}
+        <title data-gc-analytics-error="notSupported">
+          {pageData.scContentEn.json[0].content[0].value} |{" "}
+          {pageData.scContentFr.json[0].content[0].value}
+        </title>
+        <meta
+          name="description"
+          content="Error message stating that the site will not work with Internet Explorer."
+        />
+        <meta name="author" content="Service Canada" />
+        <link rel="icon" href="/favicon.ico" />
+        <link rel="schema.dcterms" href="http://purl.org/dc/terms/" />
+        <meta content="width=device-width, initial-scale=1" name="viewport" />
+ 
+        {/* DCMI Meta Tags */}
+        <meta
+          property="dcterms:title"
+          lang="en"
+          content="Sorry, this site will not work with Internet Explorer"
+        />
+        <meta
+          property="dcterms:title"
+          lang="fr"
+          content="Désolé, ce site ne fonctionne pas avec Internet Explorer"
+        />
+        <meta
+          property="dcterms:description"
+          lang="en"
+          content="Error message stating that the site will not work with Internet Explorer."
+        />
+        <meta
+          property="dcterms:description"
+          lang="fr"
+          content="Message d'erreur indiquant que le site ne fonctionne pas avec Internet Explorer."
+        />
+        <meta
+          name="dcterms.language"
+          content={props.locale === "en" ? "eng" : "fra"}
+          title="ISO639-2"
+        />
+        <meta
+          name="dcterms.creator"
+          content={
+            props.locale === "en"
+              ? "Employment and Social Development Canada"
+              : "Emploi et Développement social Canada"
+          }
+        />
+        <meta name="dcterms.accessRights" content="2" />
+        <meta name="dcterms.service" content="ESDC-EDSC_SCLabs-LaboratoireSC" />
+        <meta
+          property="dcterms:subject"
+          lang="fr"
+          title="gccore"
+          content="GV Gouvernement et vie politique;Services gouvernementaux"
+        />
+        <meta
+          property="dcterms:subject"
+          lang="en"
+          title="gccore"
+          content="GV Government and Politics;Government services"
+        />
+        <meta name="dcterms.issued" title="W3CDTF" content="2021-11-25" />
+        <meta name="dcterms.modified" title="W3CDTF" content="2021-12-16" />
+        <meta property="dcterms:issued" content="2021-11-25" />
+        <meta property="dcterms:modified" content="2021-12-16" />
+ 
+        {/* Open Graph / Facebook */}
+        <meta property="og:type" content="website" />
+        <meta property="og:locale" content={props.locale} />
+        <meta
+          property="og:url"
+          content={
+            "https://alpha.service.canada.ca/" +
+            `${props.locale}` +
+            "/notsupported"
+          }
+        />
+        <meta
+          property="og:title"
+          content={`Browser not supported — ${t("siteTitle")}`}
+        />
+        <meta
+          property="og:description"
+          content="Sorry, this site will not work with Internet Explorer | Désolé, ce
+            site ne fonctionne pas avec Internet Explorer"
+        />
+        <meta property="og:image" content={`${t("metaImage")}`} />
+        <meta property="og:image:alt" content={`${t("siteTitle")}`} />
+ 
+        {/* Twitter */}
+        <meta property="twitter:card" content="summary_large_image" />
+        <meta
+          property="twitter:url"
+          content={
+            "https://alpha.service.canada.ca/" +
+            `${props.locale}` +
+            "/notsupported"
+          }
+        />
+        <meta
+          property="twitter:title"
+          content={`Browser not supported — ${t("siteTitle")}`}
+        />
+        <meta name="twitter:creator" content="Service Canada" />
+        <meta
+          property="twitter:description"
+          content="Sorry, this site will not work with Internet Explorer | Désolé, ce
+            site ne fonctionne pas avec Internet Explorer"
+        />
+        <meta property="twitter:image" content={`${t("metaImage")}`} />
+        <meta property="twitter:image:alt" content={`${t("siteTitle")}`} />
+      </Head>
+      <div className="min-h-screen relative">
+        <section className="xs:px-0 lg:mx-auto lg:px-6 container">
+          <div className="pt-6">
+            <img
+              src={`https://www.canada.ca${
+                props.locale === "en"
+                  ? pageData.scGcImages[0].scImageEn._path
+                  : pageData.scGcImages[0].scImageFr._path
+              }`}
+              alt={
+                props.locale === "en"
+                  ? pageData.scGcImages[0].scImageAltTextEn
+                  : pageData.scGcImages[0].scImageAltTextFr
+              }
+              width={575}
+              height={59}
+            />
+          </div>
+          <div className="flex flex-col lg:flex-row justify-between items-center lg:items-start mt-8">
+            <div>
+              <div className="relative h-auto xl:w-96 xxl:w-400px lg:w-72 xl:h-400px lg:h-500px mb-8 lg:mb-0">
+                <h1 className="font-bold font-display mb-4">
+                  {pageData.scContentEn.json[0].content[0].value}
+                </h1>
+                <p className="font-body text-sm mb-4 leading-normal">
+                  {pageData.scContentEn.json[1].content[0].value}
+                </p>
+              </div>
+            </div>
+            <div className="flex items-center justify-center circle-background my-8 lg:mt-0 lightbulb-bg">
+              <span className="relative lightbulb">
+                <img
+                  src={`https://www.canada.ca${
+                    props.locale === "en"
+                      ? pageData.scImageList[0].scImageEn._path
+                      : pageData.scImageList[0].scImageFr._path
+                  }`}
+                  alt=""
+                />
+              </span>
+            </div>
+            <div>
+              <div
+                className="relative h-auto xl:w-96 xxl:w-400px lg:w-72 xl:h-400px lg:h-500px mb-8 lg:mb-0"
+                lang="fr"
+              >
+                <h1 className="font-bold font-display mb-4">
+                  {pageData.scContentFr.json[0].content[0].value}
+                </h1>
+                <p className="font-body text-sm mb-4 leading-normal">
+                  {pageData.scContentFr.json[1].content[0].value}
+                </p>
+              </div>
+            </div>
+          </div>
+        </section>
+        <section className="-mt-0 lg:-mt-36 sm:-mt-4 pb-5">
+          <div className="flex items-center justify-center">
+            <figure className="mx-4">
+              <img
+                src={`https://www.canada.ca${
+                  props.locale === "en"
+                    ? pageData.scImageList[1].scImageEn._path
+                    : pageData.scImageList[1].scImageFr._path
+                }`}
+                alt={
+                  props.locale === "en"
+                    ? pageData.scImageList[1].scImageAltTextEn
+                    : pageData.scImageList[1].scImageAltTextFr
+                }
+                width="98"
+                height="98"
+              />
+              <figcaption className="flex items-center justify-center">
+                Chrome
+              </figcaption>
+            </figure>
+            <figure className="mx-4">
+              <img
+                src={`https://www.canada.ca${
+                  props.locale === "en"
+                    ? pageData.scImageList[2].scImageEn._path
+                    : pageData.scImageList[2].scImageFr._path
+                }`}
+                alt={
+                  props.locale === "en"
+                    ? pageData.scImageList[2].scImageAltTextEn
+                    : pageData.scImageList[2].scImageAltTextFr
+                }
+                width="98"
+                height="98"
+              />
+              <figcaption className="flex items-center justify-center">
+                Safari
+              </figcaption>
+            </figure>
+            <figure className="mx-4">
+              <img
+                src={`https://www.canada.ca${
+                  props.locale === "en"
+                    ? pageData.scImageList[3].scImageEn._path
+                    : pageData.scImageList[3].scImageFr._path
+                }`}
+                alt={
+                  props.locale === "en"
+                    ? pageData.scImageList[3].scImageAltTextEn
+                    : pageData.scImageList[3].scImageAltTextFr
+                }
+                width="94"
+                height="94"
+              />
+              <figcaption className="pt-1.5 flex items-center justify-center">
+                Edge
+              </figcaption>
+            </figure>
+            <figure className="mx-4">
+              <img
+                src={`https://www.canada.ca${
+                  props.locale === "en"
+                    ? pageData.scImageList[4].scImageEn._path
+                    : pageData.scImageList[4].scImageFr._path
+                }`}
+                alt={
+                  props.locale === "en"
+                    ? pageData.scImageList[4].scImageAltTextEn
+                    : pageData.scImageList[4].scImageAltTextFr
+                }
+                width="98"
+                height="98"
+              />
+              <figcaption className="flex items-center justify-center">
+                Firefox
+              </figcaption>
+            </figure>
+          </div>
+        </section>
+        <section className="xs:px-0 lg:mx-auto lg:px-6 container pb-44">
+          <div className="flex flex-col lg:flex-row justify-between items-center lg:items-start mt-8">
+            <div className="relative h-auto xl:w-96 xxl:w-400px lg:w-72 mb-8 lg:mb-0">
+              <p className="font-body text-sm mb-4 leading-normal">
+                {pageData.scCopyToClipboardLabelEn}
+              </p>
+              <CopyToClipboard
+                buttonId="enClipboardButton"
+                buttonText={enCopied ? "Copied!" : "Copy link"}
+                buttonStyle={enCopied ? "ieButtonCopied" : "ieButton"}
+                value="http://alpha.service.canada.ca/home"
+                onClick={onClickEn}
+                id="enClipboard"
+                name="clipboard_en"
+                textFieldStyle="ieTextField"
+                aria_label="Copy the link below and paste in that browser."
+              />
+              <p className="font-body text-sm pt-6 leading-normal">
+                {pageData.scBrowserDownloadLinksEn.json[0].content[0].value}
+              </p>
+              <ul className="underline pt-4 font-body text-sm ieLinksList">
+                <li className="browser-item">
+                  <a
+                    href={
+                      pageData.scBrowserDownloadLinksEn.json[1].content[0]
+                        .content[0].data.href
+                    }
+                  >
+                    {
+                      pageData.scBrowserDownloadLinksEn.json[1].content[0]
+                        .content[0].value
+                    }
+                  </a>
+                </li>
+                <li className="browser-item">
+                  <a
+                    href={
+                      pageData.scBrowserDownloadLinksEn.json[1].content[1]
+                        .content[0].data.href
+                    }
+                  >
+                    {
+                      pageData.scBrowserDownloadLinksEn.json[1].content[1]
+                        .content[0].value
+                    }
+                  </a>
+                </li>
+                <li className="browser-item">
+                  <a
+                    href={
+                      pageData.scBrowserDownloadLinksEn.json[1].content[2]
+                        .content[0].data.href
+                    }
+                  >
+                    {
+                      pageData.scBrowserDownloadLinksEn.json[1].content[2]
+                        .content[0].value
+                    }
+                  </a>
+                </li>
+                <li className="browser-item">
+                  <a
+                    href={
+                      pageData.scBrowserDownloadLinksEn.json[1].content[3]
+                        .content[0].data.href
+                    }
+                  >
+                    {
+                      pageData.scBrowserDownloadLinksEn.json[1].content[3]
+                        .content[0].value
+                    }
+                  </a>
+                </li>
+              </ul>
+            </div>
+            <div>
+              <div
+                className="relative h-auto xl:w-96 xxl:w-400px lg:w-72 mb-8 lg:mb-0"
+                lang="fr"
+              >
+                <p className="font-body text-sm mb-4 leading-normal">
+                  {pageData.scCopyToClipboardLabelFr}
+                </p>
+                <CopyToClipboard
+                  buttonText={frCopied ? "Copié!" : "Copier lien"}
+                  buttonId="frClipboardButton"
+                  buttonStyle={frCopied ? "ieButtonCopied" : "ieButton"}
+                  value="http://alpha.service.canada.ca/fr/home"
+                  onClick={onClickFr}
+                  id="frClipboard"
+                  name="clipboard_fr"
+                  textFieldStyle="ieTextField"
+                  aria_label="Vous n'avez qu'à copier le lien ci-dessous et le coller dans ce navigateur."
+                />
+                <p className="font-body text-sm pt-6 leading-normal">
+                  {pageData.scBrowserDownloadLinksFr.json[0].content[0].value}
+                </p>
+                <ul className="underline pt-4 font-body text-sm ieLinksList">
+                  <li className="browser-item">
+                    <a
+                      href={
+                        pageData.scBrowserDownloadLinksFr.json[1].content[0]
+                          .content[0].data.href
+                      }
+                    >
+                      {
+                        pageData.scBrowserDownloadLinksFr.json[1].content[0]
+                          .content[0].value
+                      }
+                    </a>
+                  </li>
+                  <li className="browser-item">
+                    <a
+                      href={
+                        pageData.scBrowserDownloadLinksFr.json[1].content[1]
+                          .content[0].data.href
+                      }
+                    >
+                      {
+                        pageData.scBrowserDownloadLinksFr.json[1].content[1]
+                          .content[0].value
+                      }
+                    </a>
+                  </li>
+                  <li className="browser-item">
+                    <a
+                      href={
+                        pageData.scBrowserDownloadLinksFr.json[1].content[2]
+                          .content[0].data.href
+                      }
+                    >
+                      {
+                        pageData.scBrowserDownloadLinksFr.json[1].content[2]
+                          .content[0].value
+                      }
+                    </a>
+                  </li>
+                  <li className="browser-item">
+                    <a
+                      href={
+                        pageData.scBrowserDownloadLinksFr.json[1].content[3]
+                          .content[0].data.href
+                      }
+                    >
+                      {
+                        pageData.scBrowserDownloadLinksFr.json[1].content[3]
+                          .content[0].value
+                      }
+                    </a>
+                  </li>
+                </ul>
+              </div>
+            </div>
+          </div>
+        </section>
+        <footer className="h-100px w-screen bgGray absolute bottom-0">
+          <div className="layout-container flex justify-between lg:flex-row-reverse pt-4 lg:pt-0 lg:mt-8">
+            <ActionButton
+              id="404TopOfPageButton"
+              href="#"
+              custom="text-left w-32 flex flex-col lg:hidden"
+              text="Top of page / Haut de la page"
+              icon="icon-up-caret"
+              iconEnd
+            />
+            <span className="relative footer-logo">
+              <img
+                src={`https://www.canada.ca${
+                  props.locale === "en"
+                    ? pageData.scGcImages[1].scImageEn._path
+                    : pageData.scGcImages[1].scImageFr._path
+                }`}
+                alt={
+                  props.locale === "en"
+                    ? pageData.scGcImages[1].scImageAltTextEn
+                    : pageData.scGcImages[1].scImageAltTextFr
+                }
+              />
+            </span>
+          </div>
+        </footer>
+      </div>
+    </>
+  );
+}
+ 
+export const getStaticProps = async ({ locale }) => {
+  const { data } = await aemServiceInstance.getFragment("notsupportedQuery");
+ 
+  return {
+    props: {
+      locale: locale,
+      adobeAnalyticsUrl: process.env.ADOBE_ANALYTICS_URL ?? null,
+      ...(await serverSideTranslations("en", ["common"])),
+      ...(await serverSideTranslations("fr", ["common"])),
+      pageData: data.sclabsErrorpageV1ByPath,
+    },
+  };
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/pages/projects/benefits-finder/[id].js.html b/main/coverage/lcov-report/pages/projects/benefits-finder/[id].js.html new file mode 100644 index 0000000000..37617cf138 --- /dev/null +++ b/main/coverage/lcov-report/pages/projects/benefits-finder/[id].js.html @@ -0,0 +1,490 @@ + + + + + + Code coverage report for pages/projects/benefits-finder/[id].js + + + + + + + + + +
+
+

All files / pages/projects/benefits-finder [id].js

+
+ +
+ 0% + Statements + 0/32 +
+ + +
+ 0% + Branches + 0/24 +
+ + +
+ 0% + Functions + 0/6 +
+ + +
+ 0% + Lines + 0/30 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import PageHead from "../../../components/fragment_renderer/PageHead";
+import { serverSideTranslations } from "next-i18next/serverSideTranslations";
+import { Layout } from "../../../components/organisms/Layout";
+import { useEffect, useState } from "react";
+import aemServiceInstance from "../../../services/aemServiceInstance";
+import { getAllUpdateIds } from "../../../lib/utils/getAllUpdateIds";
+import { createBreadcrumbs } from "../../../lib/utils/createBreadcrumbs";
+import FragmentRender from "../../../components/fragment_renderer/FragmentRender";
+import { Heading } from "../../../components/molecules/Heading";
+ 
+export default function BenefitFinderArticles(props) {
+  const [pageData] = useState(props.pageData);
+  const [dictionary] = useState(props.dictionary.items);
+ 
+  useEffect(() => {
+    Iif (props.adobeAnalyticsUrl) {
+      window.adobeDataLayer = window.adobeDataLayer || [];
+      window.adobeDataLayer.push({ event: "pageLoad" });
+    }
+  }, []);
+ 
+  return (
+    <>
+      <Layout
+        locale={props.locale}
+        langUrl={
+          props.locale === "en" ? pageData.scPageNameFr : pageData.scPageNameEn
+        }
+        dateModifiedOverride={pageData.scDateModifiedOverwrite}
+        breadcrumbItems={createBreadcrumbs(
+          pageData.scBreadcrumbParentPages,
+          props.locale
+        )}
+      >
+        <PageHead pageData={pageData} locale={props.locale} />
+        <section className="mb-12">
+          <div className="layout-container">
+            <Heading
+              tabIndex="-1"
+              id="pageMainTitle"
+              title={
+                props.locale === "en" ? pageData.scTitleEn : pageData.scTitleFr
+              }
+            />
+            <div id="postedOnUpdatedOnSection" className="grid grid-cols-12">
+              <p
+                className={`col-span-6 sm:col-span-4 ${
+                  props.locale === "en" ? "lg:col-span-2" : "lg:col-span-3"
+                } font-bold`}
+              >
+                {props.locale === "en"
+                  ? dictionary[13].scTermEn
+                  : dictionary[13].scTermFr}
+              </p>
+              <p className="col-span-6 col-start-7 sm:col-start-5 lg:col-span-2 md:col-start-5 mt-0">
+                {pageData.scDateModifiedOverwrite}
+              </p>
+              <p
+                className={`row-start-2 col-span-6 sm:col-span-4 mt-0 ${
+                  props.locale === "en" ? "lg:col-span-2" : "lg:col-span-3"
+                } font-bold`}
+              >
+                {props.locale === "en"
+                  ? dictionary[8].scTermEn
+                  : dictionary[8].scTermFr}
+              </p>
+              <p className="row-start-2 col-span-6 col-start-7 sm:col-start-5 lg:col-span-2 md:col-start-5 mt-auto">
+                {pageData.scDateModifiedOverwrite}
+              </p>
+            </div>
+          </div>
+ 
+          {/* Main */}
+          <div id="mainContentSection">
+            <FragmentRender
+              fragments={props.pageData.scFragments}
+              locale={props.locale}
+            />
+          </div>
+        </section>
+      </Layout>
+    </>
+  );
+}
+ 
+export async function getStaticPaths() {
+  // Get pages data
+  const { data } = await aemServiceInstance.getFragment(
+    "benefitsNavigatorArticlesQuery"
+  );
+  // Get paths for dynamic routes from the page name data
+  const paths = getAllUpdateIds(data.sclabsPageV1List.items);
+  paths.map((path) => (path.params.id = path.params.id.split("/").at(-1)));
+  return {
+    paths,
+    fallback: "blocking",
+  };
+}
+ 
+export const getStaticProps = async ({ locale, params }) => {
+  // Get pages data
+  const { data } = await aemServiceInstance.getFragment(
+    "benefitsFinderArticlesQuery"
+  );
+  // get dictionary
+  const { data: dictionary } = await aemServiceInstance.getFragment(
+    "dictionaryQuery"
+  );
+  const pages = data.sclabsPageV1List.items;
+  // Return page data that matches the current page being built
+  const pageData = pages.filter((page) => {
+    return (
+      (locale === "en" ? page.scPageNameEn : page.scPageNameFr)
+        .split("/")
+        .at(-1) === params.id
+    );
+  });
+ 
+  Iif (!pageData || !pageData.length) {
+    return {
+      notFound: true,
+    };
+  }
+ 
+  return {
+    props: {
+      locale: locale,
+      pageData: pageData[0],
+      dictionary: dictionary.dictionaryV1List,
+      adobeAnalyticsUrl: process.env.ADOBE_ANALYTICS_URL ?? null,
+      ...(await serverSideTranslations(locale, ["common", "vc"])),
+    },
+    revalidate: process.env.ISR_ENABLED === "true" ? 10 : false,
+  };
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/pages/projects/benefits-finder/index.html b/main/coverage/lcov-report/pages/projects/benefits-finder/index.html new file mode 100644 index 0000000000..59fd62c6ad --- /dev/null +++ b/main/coverage/lcov-report/pages/projects/benefits-finder/index.html @@ -0,0 +1,131 @@ + + + + + + Code coverage report for pages/projects/benefits-finder + + + + + + + + + +
+
+

All files pages/projects/benefits-finder

+
+ +
+ 37.7% + Statements + 23/61 +
+ + +
+ 37.03% + Branches + 40/108 +
+ + +
+ 36.36% + Functions + 4/11 +
+ + +
+ 39.65% + Lines + 23/58 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
[id].js +
+
0%0/320%0/240%0/60%0/30
index.js +
+
79.31%23/2947.61%40/8480%4/582.14%23/28
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/pages/projects/benefits-finder/index.js.html b/main/coverage/lcov-report/pages/projects/benefits-finder/index.js.html new file mode 100644 index 0000000000..b26e0d6c97 --- /dev/null +++ b/main/coverage/lcov-report/pages/projects/benefits-finder/index.js.html @@ -0,0 +1,1249 @@ + + + + + + Code coverage report for pages/projects/benefits-finder/index.js + + + + + + + + + +
+
+

All files / pages/projects/benefits-finder index.js

+
+ +
+ 79.31% + Statements + 23/29 +
+ + +
+ 47.61% + Branches + 40/84 +
+ + +
+ 80% + Functions + 4/5 +
+ + +
+ 82.14% + Lines + 23/28 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +3891x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +  +1x +2x +1x +1x +  +  +21x +  +  +  +  +  +  +1x +2x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import Head from "next/head";
+import { serverSideTranslations } from "next-i18next/serverSideTranslations";
+import { Layout } from "../../../components/organisms/Layout";
+import { useEffect, useState } from "react";
+import aemServiceInstance from "../../../services/aemServiceInstance";
+import { ProjectInfo } from "../../../components/atoms/ProjectInfo";
+import Card from "../../../components/molecules/Card";
+import { createBreadcrumbs } from "../../../lib/utils/createBreadcrumbs";
+import { Heading } from "../../../components/molecules/Heading";
+import Image from "next/image";
+import stageDictionary from "../../../lib/utils/stageDictionary";
+import { sortUpdatesByDate } from "../../../lib/utils/sortUpdatesByDate";
+import FragmentRender from "../../../components/fragment_renderer/FragmentRender";
+ 
+export default function BenefitsFinderOverview(props) {
+  const [pageData] = useState(props.pageData.item);
+  const updatesData = sortUpdatesByDate(props.updatesData);
+  const [filteredDictionary] = useState(
+    props.dictionary.items.filter(
+      (item) =>
+        item.scId === "STARTED" ||
+        item.scId === "ENDED" ||
+        item.scId === "PROJECT-STAGE" ||
+        item.scId === "SUMMARY"
+    )
+  );
+ 
+  const displayProjectUpdates = updatesData.map((update) => (
+    <li key={update.scId} className="list-none ml-0 col-span-12 lg:col-span-4">
+      <Card
+        showImage
+        imgSrc={
+          props.locale === "en"
+            ? `https://www.canada.ca${update.scSocialMediaImageEn?._path}`
+            : `https://www.canada.ca${update.scSocialMediaImageFr?._path}`
+        }
+        imgAlt={
+          props.locale === "en"
+            ? update.scSocialMediaImageAltTextEn
+            : update.scSocialMediaImageAltTextFr
+        }
+        imgHeight={update.scSocialMediaImageEn.height}
+        imgWidth={update.scSocialMediaImageEn.width}
+        title={props.locale === "en" ? update.scTitleEn : update.scTitleFr}
+        href={props.locale === "en" ? update.scPageNameEn : update.scPageNameFr}
+        description={`${
+          props.locale === "en"
+            ? props.dictionary.items[13].scTermEn
+            : props.dictionary.items[13].scTermFr
+        } ${update.scDateModifiedOverwrite}`}
+      />
+    </li>
+  ));
+ 
+  useEffect(() => {
+    Iif (props.adobeAnalyticsUrl) {
+      window.adobeDataLayer = window.adobeDataLayer || [];
+      window.adobeDataLayer.push({ event: "pageLoad" });
+    }
+  }, []);
+ 
+  return (
+    <>
+      <Layout
+        locale={props.locale}
+        langUrl={
+          props.locale === "en" ? pageData.scPageNameFr : pageData.scPageNameEn
+        }
+        dateModifiedOverride={pageData.scDateModifiedOverwrite}
+        breadcrumbItems={createBreadcrumbs(
+          pageData.scBreadcrumbParentPages,
+          props.locale
+        )}
+      >
+        <Head>
+          {/* Primary HTML Meta Tags */}
+          <title>
+            {props.locale === "en"
+              ? `${pageData.scTitleEn} - Service Canada Labs`
+              : `${pageData.scTitleFr} - Laboratoires de Service Canada`}
+          </title>
+          <meta
+            name="description"
+            content={
+              props.locale === "en"
+                ? pageData.scDescriptionEn.json[0].content[0].value
+                : pageData.scDescriptionFr.json[0].content[0].value
+            }
+          />
+          <meta name="author" content="Service Canada" />
+          <link rel="icon" href="/favicon.ico" />
+          <link
+            rel="canonical"
+            href={
+              "https://alpha.service.canada.ca" +
+              `${
+                props.locale === "en"
+                  ? pageData.scPageNameEn
+                  : pageData.scPageNameFr
+              }`
+            }
+          />
+          <link rel="schema.dcterms" href="http://purl.org/dc/terms/" />
+          <meta
+            name="keywords"
+            content={
+              props.locale === "en"
+                ? pageData.scKeywordsEn
+                : pageData.scKeywordsFr
+            }
+          />
+ 
+          {/* DCMI Meta Tags */}
+          <meta
+            name="dcterms.title"
+            content={
+              props.locale === "en" ? pageData.scTitleEn : pageData.scTitleFr
+            }
+          />
+          <meta
+            name="dcterms.language"
+            content={props.locale === "en" ? "eng" : "fra"}
+            title="ISO639-2/T"
+          />
+          <meta
+            name="dcterms.creator"
+            content={
+              props.locale === "en"
+                ? "Employment and Social Development Canada"
+                : "Emploi et Développement social Canada"
+            }
+          />
+          <meta name="dcterms.accessRights" content="2" />
+          <meta
+            name="dcterms.service"
+            content="ESDC-EDSC_SCLabs-LaboratoireSC"
+          />
+          <meta name="dcterms.issued" title="W3CDTF" content="2021-07-20" />
+ 
+          <meta name="dcterms.modified" title="W3CDTF" content="2021-12-16" />
+          <meta
+            name="dcterms.description"
+            content={
+              props.locale === "en"
+                ? pageData.scDescriptionEn.json[0].content[0].value
+                : pageData.scDescriptionFr.json[0].content[0].value
+            }
+          />
+          <meta
+            name="dcterms.subject"
+            title="gccore"
+            content={pageData.scSubject}
+          />
+          <meta name="dcterms.spatial" content="Canada" />
+ 
+          {/* Open Graph / Facebook */}
+          <meta property="og:type" content="website" />
+          <meta property="og:locale" content={props.locale} />
+          <meta
+            property="og:url"
+            content={
+              "https://alpha.service.canada.ca" +
+              `${
+                props.locale === "en"
+                  ? pageData.scPageNameEn
+                  : pageData.scPageNameFr
+              }`
+            }
+          />
+          <meta
+            property="og:title"
+            content={
+              props.locale === "en" ? pageData.scTitleEn : pageData.scTitleFr
+            }
+          />
+          <meta
+            property="og:description"
+            content={
+              props.locale === "en"
+                ? pageData.scDescriptionEn.json[0].content[0].value
+                : pageData.scDescriptionFr.json[0].content[0].value
+            }
+          />
+          <meta
+            property="og:image"
+            content={pageData.scFragments[2].scImageEn._publishUrl}
+          />
+          <meta
+            property="og:image:alt"
+            content={
+              props.locale === "en"
+                ? pageData.scFragments[2].scImageAltTextEn
+                : pageData.scFragments[2].scImageAltTextFr
+            }
+          />
+ 
+          {/* Twitter */}
+          <meta property="twitter:card" content="summary_large_image" />
+          <meta
+            property="twitter:url"
+            content={
+              "https://alpha.service.canada.ca" +
+              `${
+                props.locale === "en"
+                  ? pageData.scPageNameEn
+                  : pageData.scPageNameFr
+              }`
+            }
+          />
+          <meta
+            property="twitter:title"
+            content={
+              props.locale === "en" ? pageData.scTitleEn : pageData.scTitleFr
+            }
+          />
+          <meta name="twitter:creator" content="Service Canada" />
+          <meta
+            property="twitter:description"
+            content={
+              props.locale === "en"
+                ? pageData.scDescriptionEn.json[0].content[0].value
+                : pageData.scDescriptionFr.json[0].content[0].value
+            }
+          />
+          <meta
+            property="twitter:image"
+            content={pageData.scFragments[2].scImageEn._publishUrl}
+          />
+          <meta
+            property="twitter:image:alt"
+            content={
+              props.locale === "en"
+                ? pageData.scFragments[2].scImageAltTextEn
+                : pageData.scFragments[2].scImageAltTextFr
+            }
+          />
+        </Head>
+ 
+        <div className="layout-container">
+          <section aria-labelledby="pageMainTitle">
+            <div className="flex flex-col break-words lg:grid lg:grid-cols-2">
+              <div className="col-span-2">
+                <Heading
+                  tabIndex="-1"
+                  id="pageMainTitle"
+                  title={
+                    props.locale === "en"
+                      ? pageData.scTitleEn
+                      : pageData.scTitleFr
+                  }
+                />
+              </div>
+              <div className="hidden lg:grid row-span-2 row-start-2 col-start-2 p-0 mx-4">
+                <div className="flex justify-center">
+                  <div className="object-fill max-w-350px">
+                    <Image
+                      src={
+                        props.locale === "en"
+                          ? pageData.scFragments[2].scImageEn._publishUrl
+                          : pageData.scFragments[2].scImageFr._publishUrl
+                      }
+                      alt={
+                        props.locale === "en"
+                          ? pageData.scFragments[2].scImageAltTextEn
+                          : pageData.scFragments[2].scImageAltTextFr
+                      }
+                      width={pageData.scFragments[2].scImageEn.width}
+                      height={pageData.scFragments[2].scImageEn.height}
+                      priority
+                      sizes="33vw"
+                      quality={100}
+                    />
+                  </div>
+                </div>
+              </div>
+              <p className="row-start-2 font-body text-lg mb-4">
+                {props.locale === "en"
+                  ? pageData.scFragments[0].scContentEn.json[1].content[0].value
+                  : pageData.scFragments[0].scContentFr.json[1].content[0]
+                      .value}
+              </p>
+              <div className="row-start-3">
+                <ProjectInfo
+                  locale={props.locale}
+                  termStarted={
+                    props.locale === "en"
+                      ? filteredDictionary[2].scTermEn
+                      : filteredDictionary[2].scTermFr
+                  }
+                  termStage={
+                    props.locale === "en"
+                      ? filteredDictionary[1].scTermEn
+                      : filteredDictionary[1].scTermFr
+                  }
+                  termSummary={
+                    props.locale === "en"
+                      ? filteredDictionary[3].scTermEn
+                      : filteredDictionary[3].scTermFr
+                  }
+                  dateStarted={
+                    pageData.scFragments[0].scContentEn.json[2].content[0].value
+                  }
+                  term={
+                    props.locale === "en"
+                      ? pageData.scFragments[0].scContentEn.json[0].content[0]
+                          .value + " "
+                      : pageData.scFragments[0].scContentFr.json[0].content[0]
+                          .value + " "
+                  }
+                  definition={
+                    props.locale === "en"
+                      ? pageData.scFragments[1].scContentEn.json[0].content[1]
+                          .value
+                      : pageData.scFragments[1].scContentFr.json[0].content[1]
+                          .value
+                  }
+                  information={
+                    props.locale === "en"
+                      ? pageData.scFragments[1].scTitleEn
+                      : pageData.scFragments[1].scTitleFr
+                  }
+                  stage={
+                    props.locale === "en"
+                      ? stageDictionary.en[pageData.scLabProjectStage]
+                      : stageDictionary.fr[pageData.scLabProjectStage]
+                  }
+                  summary={
+                    props.locale === "en"
+                      ? pageData.scLabProjectSummaryEn.json[0].content[0].value
+                      : pageData.scLabProjectSummaryFr.json[0].content[0].value
+                  }
+                />
+              </div>
+              <strong className="font-body text-p pt-8">
+                {props.locale === "en"
+                  ? pageData.scFragments[0].scContentEn.json[5].content[0].value
+                  : pageData.scFragments[0].scContentFr.json[5].content[0]
+                      .value}
+              </strong>
+            </div>
+          </section>
+        </div>
+ 
+        <FragmentRender
+          fragments={pageData.scFragments.slice(3)}
+          locale={props.locale}
+        />
+        <div className="layout-container">
+          {updatesData.length === 0 ? null : (
+            <section id="projectUpdates">
+              <h2>
+                {props.locale === "en"
+                  ? "Project updates"
+                  : "Mises à jour du projet"}
+              </h2>
+              <ul className="grid lg:grid-cols-12 gap-x-4 lg:gap-y-12 list-none ml-0 mb-12">
+                {displayProjectUpdates}
+              </ul>
+            </section>
+          )}
+        </div>
+      </Layout>
+    </>
+  );
+}
+ 
+export const getStaticProps = async ({ locale }) => {
+  // get page data from AEM
+  const { data: pageData } = await aemServiceInstance.getFragment(
+    "benefitsFinderQuery"
+  );
+  // get dictionary
+  const { data: dictionary } = await aemServiceInstance.getFragment(
+    "dictionaryQuery"
+  );
+ 
+  return {
+    props: {
+      locale: locale,
+      adobeAnalyticsUrl: process.env.ADOBE_ANALYTICS_URL ?? null,
+      pageData: pageData.sclabsPageV1ByPath,
+      updatesData: pageData.sclabsPageV1ByPath.item.scLabProjectUpdates,
+      dictionary: dictionary.dictionaryV1List,
+      ...(await serverSideTranslations(locale, ["common"])),
+    },
+    revalidate: process.env.ISR_ENABLED === "true" ? 10 : false,
+  };
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/pages/projects/benefits-navigator/[id].js.html b/main/coverage/lcov-report/pages/projects/benefits-navigator/[id].js.html new file mode 100644 index 0000000000..a6c0e445f9 --- /dev/null +++ b/main/coverage/lcov-report/pages/projects/benefits-navigator/[id].js.html @@ -0,0 +1,490 @@ + + + + + + Code coverage report for pages/projects/benefits-navigator/[id].js + + + + + + + + + +
+
+

All files / pages/projects/benefits-navigator [id].js

+
+ +
+ 0% + Statements + 0/32 +
+ + +
+ 0% + Branches + 0/24 +
+ + +
+ 0% + Functions + 0/6 +
+ + +
+ 0% + Lines + 0/30 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import PageHead from "../../../components/fragment_renderer/PageHead";
+import { serverSideTranslations } from "next-i18next/serverSideTranslations";
+import { Layout } from "../../../components/organisms/Layout";
+import { useEffect, useState } from "react";
+import aemServiceInstance from "../../../services/aemServiceInstance";
+import { getAllUpdateIds } from "../../../lib/utils/getAllUpdateIds";
+import { createBreadcrumbs } from "../../../lib/utils/createBreadcrumbs";
+import FragmentRender from "../../../components/fragment_renderer/FragmentRender";
+import { Heading } from "../../../components/molecules/Heading";
+ 
+export default function BenefitNavigatorArticles(props) {
+  const [pageData] = useState(props.pageData);
+  const [dictionary] = useState(props.dictionary.items);
+ 
+  useEffect(() => {
+    Iif (props.adobeAnalyticsUrl) {
+      window.adobeDataLayer = window.adobeDataLayer || [];
+      window.adobeDataLayer.push({ event: "pageLoad" });
+    }
+  }, []);
+ 
+  return (
+    <>
+      <Layout
+        locale={props.locale}
+        langUrl={
+          props.locale === "en" ? pageData.scPageNameFr : pageData.scPageNameEn
+        }
+        dateModifiedOverride={pageData.scDateModifiedOverwrite}
+        breadcrumbItems={createBreadcrumbs(
+          pageData.scBreadcrumbParentPages,
+          props.locale
+        )}
+      >
+        <PageHead pageData={pageData} locale={props.locale} />
+        <section className="mb-12">
+          <div className="layout-container">
+            <Heading
+              tabIndex="-1"
+              id="pageMainTitle"
+              title={
+                props.locale === "en" ? pageData.scTitleEn : pageData.scTitleFr
+              }
+            />
+            <div id="postedOnUpdatedOnSection" className="grid grid-cols-12">
+              <p
+                className={`col-span-6 sm:col-span-4 ${
+                  props.locale === "en" ? "lg:col-span-2" : "lg:col-span-3"
+                } font-bold`}
+              >
+                {props.locale === "en"
+                  ? dictionary[13].scTermEn
+                  : dictionary[13].scTermFr}
+              </p>
+              <p className="col-span-6 col-start-7 sm:col-start-5 lg:col-span-2 md:col-start-5 mt-0">
+                {pageData.scDateModifiedOverwrite}
+              </p>
+              <p
+                className={`row-start-2 col-span-6 sm:col-span-4 mt-0 ${
+                  props.locale === "en" ? "lg:col-span-2" : "lg:col-span-3"
+                } font-bold`}
+              >
+                {props.locale === "en"
+                  ? dictionary[8].scTermEn
+                  : dictionary[8].scTermFr}
+              </p>
+              <p className="row-start-2 col-span-6 col-start-7 sm:col-start-5 lg:col-span-2 md:col-start-5 mt-auto">
+                {pageData.scDateModifiedOverwrite}
+              </p>
+            </div>
+          </div>
+ 
+          {/* Main */}
+          <div id="mainContentSection">
+            <FragmentRender
+              fragments={props.pageData.scFragments}
+              locale={props.locale}
+            />
+          </div>
+        </section>
+      </Layout>
+    </>
+  );
+}
+ 
+export async function getStaticPaths() {
+  // Get pages data
+  const { data } = await aemServiceInstance.getFragment(
+    "benefitsNavigatorArticlesQuery"
+  );
+  // Get paths for dynamic routes from the page name data
+  const paths = getAllUpdateIds(data.sclabsPageV1List.items);
+  paths.map((path) => (path.params.id = path.params.id.split("/").at(-1)));
+  return {
+    paths,
+    fallback: "blocking",
+  };
+}
+ 
+export const getStaticProps = async ({ locale, params }) => {
+  // Get pages data
+  const { data } = await aemServiceInstance.getFragment(
+    "benefitsNavigatorArticlesQuery"
+  );
+  // get dictionary
+  const { data: dictionary } = await aemServiceInstance.getFragment(
+    "dictionaryQuery"
+  );
+  const pages = data.sclabsPageV1List.items;
+  // Return page data that matches the current page being built
+  const pageData = pages.filter((page) => {
+    return (
+      (locale === "en" ? page.scPageNameEn : page.scPageNameFr)
+        .split("/")
+        .at(-1) === params.id
+    );
+  });
+ 
+  Iif (!pageData || !pageData.length) {
+    return {
+      notFound: true,
+    };
+  }
+ 
+  return {
+    props: {
+      locale: locale,
+      pageData: pageData[0],
+      dictionary: dictionary.dictionaryV1List,
+      adobeAnalyticsUrl: process.env.ADOBE_ANALYTICS_URL ?? null,
+      ...(await serverSideTranslations(locale, ["common", "vc"])),
+    },
+    revalidate: process.env.ISR_ENABLED === "true" ? 10 : false,
+  };
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/pages/projects/benefits-navigator/index.html b/main/coverage/lcov-report/pages/projects/benefits-navigator/index.html new file mode 100644 index 0000000000..638b24cc5f --- /dev/null +++ b/main/coverage/lcov-report/pages/projects/benefits-navigator/index.html @@ -0,0 +1,131 @@ + + + + + + Code coverage report for pages/projects/benefits-navigator + + + + + + + + + +
+
+

All files pages/projects/benefits-navigator

+
+ +
+ 39.68% + Statements + 25/63 +
+ + +
+ 41.02% + Branches + 64/156 +
+ + +
+ 36.36% + Functions + 4/11 +
+ + +
+ 41.66% + Lines + 25/60 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
[id].js +
+
0%0/320%0/240%0/60%0/30
index.js +
+
80.64%25/3148.48%64/13280%4/583.33%25/30
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/pages/projects/benefits-navigator/index.js.html b/main/coverage/lcov-report/pages/projects/benefits-navigator/index.js.html new file mode 100644 index 0000000000..6186acc525 --- /dev/null +++ b/main/coverage/lcov-report/pages/projects/benefits-navigator/index.js.html @@ -0,0 +1,2044 @@ + + + + + + Code coverage report for pages/projects/benefits-navigator/index.js + + + + + + + + + +
+
+

All files / pages/projects/benefits-navigator index.js

+
+ +
+ 80.64% + Statements + 25/31 +
+ + +
+ 48.48% + Branches + 64/132 +
+ + +
+ 80% + Functions + 4/5 +
+ + +
+ 83.33% + Lines + 25/30 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 +421 +422 +423 +424 +425 +426 +427 +428 +429 +430 +431 +432 +433 +434 +435 +436 +437 +438 +439 +440 +441 +442 +443 +444 +445 +446 +447 +448 +449 +450 +451 +452 +453 +454 +455 +456 +457 +458 +459 +460 +461 +462 +463 +464 +465 +466 +467 +468 +469 +470 +471 +472 +473 +474 +475 +476 +477 +478 +479 +480 +481 +482 +483 +484 +485 +486 +487 +488 +489 +490 +491 +492 +493 +494 +495 +496 +497 +498 +499 +500 +501 +502 +503 +504 +505 +506 +507 +508 +509 +510 +511 +512 +513 +514 +515 +516 +517 +518 +519 +520 +521 +522 +523 +524 +525 +526 +527 +528 +529 +530 +531 +532 +533 +534 +535 +536 +537 +538 +539 +540 +541 +542 +543 +544 +545 +546 +547 +548 +549 +550 +551 +552 +553 +554 +555 +556 +557 +558 +559 +560 +561 +562 +563 +564 +565 +566 +567 +568 +569 +570 +571 +572 +573 +574 +575 +576 +577 +578 +579 +580 +581 +582 +583 +584 +585 +586 +587 +588 +589 +590 +591 +592 +593 +594 +595 +596 +597 +598 +599 +600 +601 +602 +603 +604 +605 +606 +607 +608 +609 +610 +611 +612 +613 +614 +615 +616 +617 +618 +619 +620 +621 +622 +623 +624 +625 +626 +627 +628 +629 +630 +631 +632 +633 +634 +635 +636 +637 +638 +639 +640 +641 +642 +643 +644 +645 +646 +647 +648 +649 +650 +651 +652 +653 +6541x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +  +1x +2x +1x +1x +  +  +21x +  +  +  +  +  +  +1x +2x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import Head from "next/head";
+import { serverSideTranslations } from "next-i18next/serverSideTranslations";
+import { Layout } from "../../../components/organisms/Layout";
+import { useEffect, useState } from "react";
+import aemServiceInstance from "../../../services/aemServiceInstance";
+import { ProjectInfo } from "../../../components/atoms/ProjectInfo";
+import Card from "../../../components/molecules/Card";
+import { createBreadcrumbs } from "../../../lib/utils/createBreadcrumbs";
+import { Heading } from "../../../components/molecules/Heading";
+import { Collapse } from "../../../components/molecules/Collapse";
+import Image from "next/image";
+import stageDictionary from "../../../lib/utils/stageDictionary";
+import TextRender from "../../../components/text_node_renderer/TextRender";
+import { sortUpdatesByDate } from "../../../lib/utils/sortUpdatesByDate";
+import { ContextualAlert } from "../../../components/molecules/ContextualAlert";
+ 
+export default function BenefitsNavigatorOverview(props) {
+  const [pageData] = useState(props.pageData.item);
+  const updatesData = sortUpdatesByDate(props.updatesData);
+  const [filteredDictionary] = useState(
+    props.dictionary.items.filter(
+      (item) =>
+        item.scId === "STARTED" ||
+        item.scId === "ENDED" ||
+        item.scId === "PROJECT-STAGE" ||
+        item.scId === "SUMMARY"
+    )
+  );
+ 
+  const displayProjectUpdates = updatesData.map((update) => (
+    <li key={update.scId} className="list-none ml-0 col-span-12 lg:col-span-4">
+      <Card
+        showImage
+        imgSrc={
+          props.locale === "en"
+            ? `https://www.canada.ca${update.scSocialMediaImageEn?._path}`
+            : `https://www.canada.ca${update.scSocialMediaImageFr?._path}`
+        }
+        imgAlt={
+          props.locale === "en"
+            ? update.scSocialMediaImageAltTextEn
+            : update.scSocialMediaImageAltTextFr
+        }
+        imgHeight={update.scSocialMediaImageEn.height}
+        imgWidth={update.scSocialMediaImageEn.width}
+        title={props.locale === "en" ? update.scTitleEn : update.scTitleFr}
+        href={props.locale === "en" ? update.scPageNameEn : update.scPageNameFr}
+        description={`${
+          props.locale === "en"
+            ? props.dictionary.items[13].scTermEn
+            : props.dictionary.items[13].scTermFr
+        } ${update.scDateModifiedOverwrite}`}
+      />
+    </li>
+  ));
+ 
+  useEffect(() => {
+    Iif (props.adobeAnalyticsUrl) {
+      window.adobeDataLayer = window.adobeDataLayer || [];
+      window.adobeDataLayer.push({ event: "pageLoad" });
+    }
+  }, []);
+ 
+  return (
+    <>
+      <Layout
+        locale={props.locale}
+        langUrl={
+          props.locale === "en" ? pageData.scPageNameFr : pageData.scPageNameEn
+        }
+        dateModifiedOverride={pageData.scDateModifiedOverwrite}
+        breadcrumbItems={createBreadcrumbs(
+          pageData.scBreadcrumbParentPages,
+          props.locale
+        )}
+      >
+        <Head>
+          {/* Primary HTML Meta Tags */}
+          <title>
+            {props.locale === "en"
+              ? `${pageData.scTitleEn} - Service Canada Labs`
+              : `${pageData.scTitleFr} - Laboratoires de Service Canada`}
+          </title>
+          <meta
+            name="description"
+            content={
+              props.locale === "en"
+                ? pageData.scDescriptionEn.json[0].content[0].value
+                : pageData.scDescriptionFr.json[0].content[0].value
+            }
+          />
+          <meta name="author" content="Service Canada" />
+          <link rel="icon" href="/favicon.ico" />
+          <link
+            rel="canonical"
+            href={
+              "https://alpha.service.canada.ca" +
+              `${
+                props.locale === "en"
+                  ? pageData.scPageNameEn
+                  : pageData.scPageNameFr
+              }`
+            }
+          />
+          <link rel="schema.dcterms" href="http://purl.org/dc/terms/" />
+          <meta
+            name="keywords"
+            content={
+              props.locale === "en"
+                ? pageData.scKeywordsEn
+                : pageData.scKeywordsFr
+            }
+          />
+ 
+          {/* DCMI Meta Tags */}
+          <meta
+            name="dcterms.title"
+            content={
+              props.locale === "en" ? pageData.scTitleEn : pageData.scTitleFr
+            }
+          />
+          <meta
+            name="dcterms.language"
+            content={props.locale === "en" ? "eng" : "fra"}
+            title="ISO639-2/T"
+          />
+          <meta
+            name="dcterms.creator"
+            content={
+              props.locale === "en"
+                ? "Employment and Social Development Canada"
+                : "Emploi et Développement social Canada"
+            }
+          />
+          <meta name="dcterms.accessRights" content="2" />
+          <meta
+            name="dcterms.service"
+            content="ESDC-EDSC_SCLabs-LaboratoireSC"
+          />
+          <meta name="dcterms.issued" title="W3CDTF" content="2021-07-20" />
+ 
+          <meta name="dcterms.modified" title="W3CDTF" content="2021-12-16" />
+          <meta
+            name="dcterms.description"
+            content={
+              props.locale === "en"
+                ? pageData.scDescriptionEn.json[0].content[0].value
+                : pageData.scDescriptionFr.json[0].content[0].value
+            }
+          />
+          <meta
+            name="dcterms.subject"
+            title="gccore"
+            content={pageData.scSubject}
+          />
+          <meta name="dcterms.spatial" content="Canada" />
+ 
+          {/* Open Graph / Facebook */}
+          <meta property="og:type" content="website" />
+          <meta property="og:locale" content={props.locale} />
+          <meta
+            property="og:url"
+            content={
+              "https://alpha.service.canada.ca" +
+              `${
+                props.locale === "en"
+                  ? pageData.scPageNameEn
+                  : pageData.scPageNameFr
+              }`
+            }
+          />
+          <meta
+            property="og:title"
+            content={
+              props.locale === "en" ? pageData.scTitleEn : pageData.scTitleFr
+            }
+          />
+          <meta
+            property="og:description"
+            content={
+              props.locale === "en"
+                ? pageData.scDescriptionEn.json[0].content[0].value
+                : pageData.scDescriptionFr.json[0].content[0].value
+            }
+          />
+          <meta
+            property="og:image"
+            content={pageData.scFragments[1].scImageEn._publishUrl}
+          />
+          <meta
+            property="og:image:alt"
+            content={
+              props.locale === "en"
+                ? pageData.scFragments[1].scImageAltTextEn
+                : pageData.scFragments[1].scImageAltTextFr
+            }
+          />
+ 
+          {/* Twitter */}
+          <meta property="twitter:card" content="summary_large_image" />
+          <meta
+            property="twitter:url"
+            content={
+              "https://alpha.service.canada.ca" +
+              `${
+                props.locale === "en"
+                  ? pageData.scPageNameEn
+                  : pageData.scPageNameFr
+              }`
+            }
+          />
+          <meta
+            property="twitter:title"
+            content={
+              props.locale === "en" ? pageData.scTitleEn : pageData.scTitleFr
+            }
+          />
+          <meta name="twitter:creator" content="Service Canada" />
+          <meta
+            property="twitter:description"
+            content={
+              props.locale === "en"
+                ? pageData.scDescriptionEn.json[0].content[0].value
+                : pageData.scDescriptionFr.json[0].content[0].value
+            }
+          />
+          <meta
+            property="twitter:image"
+            content={pageData.scFragments[1].scImageEn._publishUrl}
+          />
+          <meta
+            property="twitter:image:alt"
+            content={
+              props.locale === "en"
+                ? pageData.scFragments[1].scImageAltTextEn
+                : pageData.scFragments[1].scImageAltTextFr
+            }
+          />
+        </Head>
+ 
+        <div className="layout-container">
+          <section aria-labelledby="pageMainTitle">
+            <div className="flex flex-col break-words lg:grid lg:grid-cols-2">
+              <div className="col-span-2">
+                <Heading
+                  tabIndex="-1"
+                  id="pageMainTitle"
+                  title={
+                    props.locale === "en"
+                      ? pageData.scTitleEn
+                      : pageData.scTitleFr
+                  }
+                />
+                <div className="mb-10 max-w-[76ch]">
+                  <ContextualAlert
+                    id="alert"
+                    type="warning"
+                    message_heading={
+                      props.locale === "en"
+                        ? pageData.scFragments[0].scTitleEn
+                        : pageData.scFragments[0].scTitleFr
+                    }
+                    message_body={
+                      <TextRender
+                        data={
+                          props.locale === "en"
+                            ? pageData.scFragments[0].scContentEn.json
+                            : pageData.scFragments[0].scContentFr.json
+                        }
+                      />
+                    }
+                    alert_icon_alt_text=""
+                    alert_icon_id="project-status-cta-icon"
+                  />
+                </div>
+              </div>
+              <div className="hidden lg:grid row-span-2 row-start-2 col-start-2 p-0 mx-4">
+                <div className="flex justify-center">
+                  <div className="object-fill max-w-350px">
+                    <Image
+                      src={
+                        props.locale === "en"
+                          ? pageData.scFragments[1].scImageEn._publishUrl
+                          : pageData.scFragments[1].scImageFr._publishUrl
+                      }
+                      alt={
+                        props.locale === "en"
+                          ? pageData.scFragments[1].scImageAltTextEn
+                          : pageData.scFragments[1].scImageAltTextFr
+                      }
+                      width={pageData.scFragments[1].scImageEn.width}
+                      height={pageData.scFragments[1].scImageEn.height}
+                      priority
+                      sizes="33vw"
+                      quality={100}
+                    />
+                  </div>
+                </div>
+              </div>
+              <p className="row-start-2 font-body text-lg mb-4">
+                {props.locale === "en"
+                  ? pageData.scFragments[3].scContentEn.json[1].content[0].value
+                  : pageData.scFragments[3].scContentFr.json[1].content[0]
+                      .value}
+              </p>
+              <div className="row-start-3">
+                <ProjectInfo
+                  locale={props.locale}
+                  termStarted={
+                    props.locale === "en"
+                      ? filteredDictionary[2].scTermEn
+                      : filteredDictionary[2].scTermFr
+                  }
+                  termStage={
+                    props.locale === "en"
+                      ? filteredDictionary[1].scTermEn
+                      : filteredDictionary[1].scTermFr
+                  }
+                  termSummary={
+                    props.locale === "en"
+                      ? filteredDictionary[3].scTermEn
+                      : filteredDictionary[3].scTermFr
+                  }
+                  dateStarted={
+                    pageData.scFragments[3].scContentEn.json[2].content[0].value
+                  }
+                  term={
+                    props.locale === "en"
+                      ? pageData.scFragments[2].scContentEn.json[0].content[0]
+                          .value + " "
+                      : pageData.scFragments[2].scContentFr.json[0].content[0]
+                          .value + " "
+                  }
+                  definition={
+                    props.locale === "en"
+                      ? pageData.scFragments[2].scContentEn.json[0].content[1]
+                          .value
+                      : pageData.scFragments[2].scContentFr.json[0].content[1]
+                          .value
+                  }
+                  information={
+                    props.locale === "en"
+                      ? pageData.scFragments[2].scTitleEn
+                      : pageData.scFragments[2].scTitleFr
+                  }
+                  stage={
+                    props.locale === "en"
+                      ? stageDictionary.en[pageData.scLabProjectStage]
+                      : stageDictionary.fr[pageData.scLabProjectStage]
+                  }
+                  summary={
+                    props.locale === "en"
+                      ? pageData.scFragments[3].scContentEn.json[4].content[0]
+                          .value
+                      : pageData.scFragments[3].scContentFr.json[4].content[0]
+                          .value
+                  }
+                />
+              </div>
+            </div>
+          </section>
+          <div className="grid grid-cols-12">
+            <h2 className="col-span-12">
+              {props.locale === "en"
+                ? pageData.scFragments[4].scContentEn.json[0].content[0].value
+                : pageData.scFragments[4].scContentFr.json[0].content[0].value}
+            </h2>
+            <p className="col-span-12 xl:col-span-8">
+              {props.locale === "en"
+                ? pageData.scFragments[4].scContentEn.json[1].content[0].value
+                : pageData.scFragments[4].scContentFr.json[1].content[0].value}
+            </p>
+            <p className="col-span-12 xl:col-span-8">
+              {props.locale === "en"
+                ? pageData.scFragments[4].scContentEn.json[2].content[0].value
+                : pageData.scFragments[4].scContentFr.json[2].content[0].value}
+            </p>
+            <ul className="list-disc col-span-12 xl:col-span-8">
+              <li className="ml-10 text-[20px]">
+                {props.locale === "en"
+                  ? pageData.scFragments[4].scContentEn.json[3].content[0]
+                      .content[0].value
+                  : pageData.scFragments[4].scContentFr.json[3].content[0]
+                      .content[0].value}
+              </li>
+              <li className="ml-10 text-[20px]">
+                {props.locale === "en"
+                  ? pageData.scFragments[4].scContentEn.json[3].content[1]
+                      .content[0].value
+                  : pageData.scFragments[4].scContentFr.json[3].content[1]
+                      .content[0].value}
+              </li>
+              <li className="ml-10 text-[20px]">
+                {props.locale === "en"
+                  ? pageData.scFragments[4].scContentEn.json[3].content[2]
+                      .content[0].value
+                  : pageData.scFragments[4].scContentFr.json[3].content[2]
+                      .content[0].value}
+              </li>
+            </ul>
+            <p className="col-span-12 xl:col-span-8">
+              {props.locale === "en"
+                ? pageData.scFragments[4].scContentEn.json[4].content[0].value
+                : pageData.scFragments[4].scContentFr.json[4].content[0].value}
+            </p>
+            <div id="feature-section" className="col-span-12">
+              <h2 className="col-span-12">
+                {props.locale === "en"
+                  ? pageData.scFragments[5].scContentEn.json[0].content[0].value
+                  : pageData.scFragments[5].scContentFr.json[0].content[0]
+                      .value}
+              </h2>
+              <div id="feature-1" className="grid grid-cols-12 gap-x-6 mb-9">
+                <div className="mb-6 object-fill col-span-12 row-start-1 xl:row-start-1 xl:col-span-8">
+                  <Image
+                    src={
+                      props.locale === "en"
+                        ? pageData.scFragments[5].scFragments[0].scFragments[0]
+                            .scImageEn._publishUrl
+                        : pageData.scFragments[5].scFragments[0].scFragments[0]
+                            .scImageFr._publishUrl
+                    }
+                    alt={
+                      props.locale === "en"
+                        ? pageData.scFragments[5].scFragments[0].scFragments[0]
+                            .scImageAltTextEn
+                        : pageData.scFragments[5].scFragments[0].scFragments[0]
+                            .scImageAltTextFr
+                    }
+                    height={
+                      pageData.scFragments[5].scFragments[0].scFragments[0]
+                        .scImageEn.height
+                    }
+                    width={
+                      pageData.scFragments[5].scFragments[0].scFragments[0]
+                        .scImageEn.width
+                    }
+                    sizes="100vw"
+                    quality={100}
+                  />
+                </div>
+                <div className="col-span-12 row-start-3 xl:col-span-4 xl:row-start-1">
+                  <div className="py-4 pl-4 border-l-4 border-multi-blue-blue60f">
+                    <TextRender
+                      data={
+                        props.locale === "en"
+                          ? pageData.scFragments[5].scFragments[0].scContentEn
+                              .json
+                          : pageData.scFragments[5].scFragments[0].scContentFr
+                              .json
+                      }
+                    />
+                  </div>
+                </div>
+                <div className="mb-6 col-span-12 xl:col-span-8 row-start-2 xl:row-start-2">
+                  <Collapse
+                    id="image-text-collapse-1"
+                    title={
+                      props.locale === "en"
+                        ? pageData.scFragments[5].scFragments[0].scFragments[0]
+                            .scLongDescHeadingEn
+                        : pageData.scFragments[5].scFragments[0].scFragments[0]
+                            .scLongDescHeadingFr
+                    }
+                    children={
+                      <TextRender
+                        data={
+                          props.locale === "en"
+                            ? pageData.scFragments[5].scFragments[0]
+                                .scFragments[0].scLongDescEn.json
+                            : pageData.scFragments[5].scFragments[0]
+                                .scFragments[0].scLongDescFr.json
+                        }
+                      />
+                    }
+                  />
+                </div>
+              </div>
+              <div id="feature-2" className="grid grid-cols-12 gap-x-6 mb-9">
+                <div className="mb-6 object-fill col-span-12 row-start-1 xl:row-start-1 xl:col-span-8">
+                  <Image
+                    src={
+                      props.locale === "en"
+                        ? pageData.scFragments[5].scFragments[1].scFragments[0]
+                            .scImageEn._publishUrl
+                        : pageData.scFragments[5].scFragments[1].scFragments[0]
+                            .scImageFr._publishUrl
+                    }
+                    alt={
+                      props.locale === "en"
+                        ? pageData.scFragments[5].scFragments[1].scFragments[0]
+                            .scImageAltTextEn
+                        : pageData.scFragments[5].scFragments[1].scFragments[0]
+                            .scImageAltTextFr
+                    }
+                    height={
+                      pageData.scFragments[5].scFragments[1].scFragments[0]
+                        .scImageEn.height
+                    }
+                    width={
+                      pageData.scFragments[5].scFragments[1].scFragments[0]
+                        .scImageEn.width
+                    }
+                    sizes="100vw"
+                    quality={100}
+                  />
+                </div>
+                <div className="col-span-12 row-start-3 xl:col-span-4 xl:row-start-1">
+                  <div className="p-4 border-l-4 border-multi-blue-blue60f">
+                    <TextRender
+                      data={
+                        props.locale === "en"
+                          ? pageData.scFragments[5].scFragments[1].scContentEn
+                              .json
+                          : pageData.scFragments[5].scFragments[1].scContentFr
+                              .json
+                      }
+                    />
+                  </div>
+                </div>
+                <div className="mb-6 col-span-12 xl:col-span-8 row-start-2 xl:row-start-2">
+                  <Collapse
+                    id="image-text-collapse-2"
+                    title={
+                      props.locale === "en"
+                        ? pageData.scFragments[5].scFragments[1].scFragments[0]
+                            .scLongDescHeadingEn
+                        : pageData.scFragments[5].scFragments[1].scFragments[0]
+                            .scLongDescHeadingFr
+                    }
+                    children={
+                      <TextRender
+                        data={
+                          props.locale === "en"
+                            ? pageData.scFragments[5].scFragments[1]
+                                .scFragments[0].scLongDescEn.json
+                            : pageData.scFragments[5].scFragments[1]
+                                .scFragments[0].scLongDescFr.json
+                        }
+                      />
+                    }
+                  />
+                </div>
+              </div>
+              <div id="feature-3" className="grid grid-cols-12 gap-x-6">
+                <div className="mb-6 object-fill col-span-12 row-start-1 xl:row-start-1 xl:col-span-8">
+                  <Image
+                    src={
+                      props.locale === "en"
+                        ? pageData.scFragments[5].scFragments[2].scFragments[0]
+                            .scImageEn._publishUrl
+                        : pageData.scFragments[5].scFragments[2].scFragments[0]
+                            .scImageFr._publishUrl
+                    }
+                    alt={
+                      props.locale === "en"
+                        ? pageData.scFragments[5].scFragments[2].scFragments[0]
+                            .scImageAltTextEn
+                        : pageData.scFragments[5].scFragments[2].scFragments[0]
+                            .scImageAltTextFr
+                    }
+                    height={
+                      pageData.scFragments[5].scFragments[2].scFragments[0]
+                        .scImageEn.height
+                    }
+                    width={
+                      pageData.scFragments[5].scFragments[2].scFragments[0]
+                        .scImageEn.width
+                    }
+                    sizes="100vw"
+                    quality={100}
+                  />
+                </div>
+                <div className="col-span-12 row-start-3 xl:col-span-4 xl:row-start-1">
+                  <div className="p-4 border-l-4 border-multi-blue-blue60f">
+                    <TextRender
+                      data={
+                        props.locale === "en"
+                          ? pageData.scFragments[5].scFragments[2].scContentEn
+                              .json
+                          : pageData.scFragments[5].scFragments[2].scContentFr
+                              .json
+                      }
+                    />
+                  </div>
+                </div>
+                <div className="mb-6 col-span-12 xl:col-span-8 row-start-2 xl:row-start-2">
+                  <Collapse
+                    id="image-text-collapse-3"
+                    title={
+                      props.locale === "en"
+                        ? pageData.scFragments[5].scFragments[2].scFragments[0]
+                            .scLongDescHeadingEn
+                        : pageData.scFragments[5].scFragments[2].scFragments[0]
+                            .scLongDescHeadingFr
+                    }
+                    children={
+                      <TextRender
+                        data={
+                          props.locale === "en"
+                            ? pageData.scFragments[5].scFragments[2]
+                                .scFragments[0].scLongDescEn.json
+                            : pageData.scFragments[5].scFragments[2]
+                                .scFragments[0].scLongDescFr.json
+                        }
+                      />
+                    }
+                  />
+                </div>
+              </div>
+            </div>
+          </div>
+ 
+          {updatesData.length === 0 ? null : (
+            <section id="projectUpdates">
+              <h2>
+                {props.locale === "en"
+                  ? "Project updates"
+                  : "Mises à jour du projet"}
+              </h2>
+              <ul className="grid lg:grid-cols-12 gap-x-4 lg:gap-y-12 list-none ml-0 mb-12">
+                {displayProjectUpdates}
+              </ul>
+            </section>
+          )}
+        </div>
+      </Layout>
+    </>
+  );
+}
+ 
+export const getStaticProps = async ({ locale }) => {
+  // get page data from AEM
+  const { data: pageData } = await aemServiceInstance.getFragment(
+    "benefitsNavigatorQuery"
+  );
+  // get dictionary
+  const { data: dictionary } = await aemServiceInstance.getFragment(
+    "dictionaryQuery"
+  );
+ 
+  return {
+    props: {
+      locale: locale,
+      adobeAnalyticsUrl: process.env.ADOBE_ANALYTICS_URL ?? null,
+      pageData: pageData.sclabsPageV1ByPath,
+      updatesData: pageData.sclabsPageV1ByPath.item.scLabProjectUpdates,
+      dictionary: dictionary.dictionaryV1List,
+      ...(await serverSideTranslations(locale, ["common"])),
+    },
+    revalidate: process.env.ISR_ENABLED === "true" ? 10 : false,
+  };
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/pages/projects/dashboard/[id].js.html b/main/coverage/lcov-report/pages/projects/dashboard/[id].js.html new file mode 100644 index 0000000000..9626f91d62 --- /dev/null +++ b/main/coverage/lcov-report/pages/projects/dashboard/[id].js.html @@ -0,0 +1,490 @@ + + + + + + Code coverage report for pages/projects/dashboard/[id].js + + + + + + + + + +
+
+

All files / pages/projects/dashboard [id].js

+
+ +
+ 0% + Statements + 0/32 +
+ + +
+ 0% + Branches + 0/24 +
+ + +
+ 0% + Functions + 0/6 +
+ + +
+ 0% + Lines + 0/30 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import PageHead from "../../../components/fragment_renderer/PageHead";
+import { serverSideTranslations } from "next-i18next/serverSideTranslations";
+import { Layout } from "../../../components/organisms/Layout";
+import { useEffect, useState } from "react";
+import aemServiceInstance from "../../../services/aemServiceInstance";
+import { getAllUpdateIds } from "../../../lib/utils/getAllUpdateIds";
+import { createBreadcrumbs } from "../../../lib/utils/createBreadcrumbs";
+import FragmentRender from "../../../components/fragment_renderer/FragmentRender";
+import { Heading } from "../../../components/molecules/Heading";
+ 
+export default function MscaDashboardArticles(props) {
+  const [pageData] = useState(props.pageData);
+  const [dictionary] = useState(props.dictionary.items);
+ 
+  useEffect(() => {
+    Iif (props.adobeAnalyticsUrl) {
+      window.adobeDataLayer = window.adobeDataLayer || [];
+      window.adobeDataLayer.push({ event: "pageLoad" });
+    }
+  }, []);
+ 
+  return (
+    <>
+      <Layout
+        locale={props.locale}
+        langUrl={
+          props.locale === "en" ? pageData.scPageNameFr : pageData.scPageNameEn
+        }
+        dateModifiedOverride={pageData.scDateModifiedOverwrite}
+        breadcrumbItems={createBreadcrumbs(
+          pageData.scBreadcrumbParentPages,
+          props.locale
+        )}
+      >
+        <PageHead pageData={pageData} locale={props.locale} />
+        <section className="mb-12">
+          <div className="layout-container">
+            <Heading
+              tabIndex="-1"
+              id="pageMainTitle"
+              title={
+                props.locale === "en" ? pageData.scTitleEn : pageData.scTitleFr
+              }
+            />
+            <div id="postedOnUpdatedOnSection" className="grid grid-cols-12">
+              <p
+                className={`col-span-6 sm:col-span-4 ${
+                  props.locale === "en" ? "lg:col-span-2" : "lg:col-span-3"
+                } font-bold`}
+              >
+                {props.locale === "en"
+                  ? dictionary[13].scTermEn
+                  : dictionary[13].scTermFr}
+              </p>
+              <p className="col-span-6 col-start-7 sm:col-start-5 lg:col-span-2 md:col-start-5 mt-0">
+                {pageData.scDateModifiedOverwrite}
+              </p>
+              <p
+                className={`row-start-2 col-span-6 sm:col-span-4 mt-0 ${
+                  props.locale === "en" ? "lg:col-span-2" : "lg:col-span-3"
+                } font-bold`}
+              >
+                {props.locale === "en"
+                  ? dictionary[8].scTermEn
+                  : dictionary[8].scTermFr}
+              </p>
+              <p className="row-start-2 col-span-6 col-start-7 sm:col-start-5 lg:col-span-2 md:col-start-5 mt-auto">
+                {pageData.scDateModifiedOverwrite}
+              </p>
+            </div>
+          </div>
+ 
+          {/* Main */}
+          <div id="mainContentSection">
+            <FragmentRender
+              fragments={props.pageData.scFragments}
+              locale={props.locale}
+            />
+          </div>
+        </section>
+      </Layout>
+    </>
+  );
+}
+ 
+export async function getStaticPaths() {
+  // Get pages data
+  const { data } = await aemServiceInstance.getFragment(
+    "getMSCADashboardArticles"
+  );
+  // Get paths for dynamic routes from the page name data
+  const paths = getAllUpdateIds(data.sclabsPageV1List.items);
+  paths.map((path) => (path.params.id = path.params.id.split("/").at(-1)));
+  return {
+    paths,
+    fallback: "blocking",
+  };
+}
+ 
+export const getStaticProps = async ({ locale, params }) => {
+  // Get pages data
+  const { data } = await aemServiceInstance.getFragment(
+    "getMSCADashboardArticles"
+  );
+  // get dictionary
+  const { data: dictionary } = await aemServiceInstance.getFragment(
+    "dictionaryQuery"
+  );
+  const pages = data.sclabsPageV1List.items;
+  // Return page data that matches the current page being built
+  const pageData = pages.filter((page) => {
+    return (
+      (locale === "en" ? page.scPageNameEn : page.scPageNameFr)
+        .split("/")
+        .at(-1) === params.id
+    );
+  });
+ 
+  Iif (!pageData || !pageData.length) {
+    return {
+      notFound: true,
+    };
+  }
+ 
+  return {
+    props: {
+      locale: locale,
+      pageData: pageData[0],
+      dictionary: dictionary.dictionaryV1List,
+      adobeAnalyticsUrl: process.env.ADOBE_ANALYTICS_URL ?? null,
+      ...(await serverSideTranslations(locale, ["common", "vc"])),
+    },
+    revalidate: process.env.ISR_ENABLED === "true" ? 10 : false,
+  };
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/pages/projects/dashboard/index.html b/main/coverage/lcov-report/pages/projects/dashboard/index.html new file mode 100644 index 0000000000..ef0d569c03 --- /dev/null +++ b/main/coverage/lcov-report/pages/projects/dashboard/index.html @@ -0,0 +1,131 @@ + + + + + + Code coverage report for pages/projects/dashboard + + + + + + + + + +
+
+

All files pages/projects/dashboard

+
+ +
+ 40.62% + Statements + 26/64 +
+ + +
+ 37.96% + Branches + 41/108 +
+ + +
+ 36.36% + Functions + 4/11 +
+ + +
+ 42.62% + Lines + 26/61 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
[id].js +
+
0%0/320%0/240%0/60%0/30
index.js +
+
81.25%26/3248.8%41/8480%4/583.87%26/31
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/pages/projects/dashboard/index.js.html b/main/coverage/lcov-report/pages/projects/dashboard/index.js.html new file mode 100644 index 0000000000..a1254dcba0 --- /dev/null +++ b/main/coverage/lcov-report/pages/projects/dashboard/index.js.html @@ -0,0 +1,1231 @@ + + + + + + Code coverage report for pages/projects/dashboard/index.js + + + + + + + + + +
+
+

All files / pages/projects/dashboard index.js

+
+ +
+ 81.25% + Statements + 26/32 +
+ + +
+ 48.8% + Branches + 41/84 +
+ + +
+ 80% + Functions + 4/5 +
+ + +
+ 83.87% + Lines + 26/31 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +3831x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +  +1x +2x +1x +  +1x +  +21x +  +  +  +  +  +1x +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import Head from "next/head";
+import { serverSideTranslations } from "next-i18next/serverSideTranslations";
+import { Layout } from "../../../components/organisms/Layout";
+import { useEffect } from "react";
+import aemServiceInstance from "../../../services/aemServiceInstance";
+import { ProjectInfo } from "../../../components/atoms/ProjectInfo";
+import { createBreadcrumbs } from "../../../lib/utils/createBreadcrumbs";
+import { Heading } from "../../../components/molecules/Heading";
+import { Collapse } from "../../../components/molecules/Collapse";
+import { ActionButton } from "../../../components/atoms/ActionButton";
+import Image from "next/image";
+import stageDictionary from "../../../lib/utils/stageDictionary";
+import TextRender from "../../../components/text_node_renderer/TextRender";
+import Card from "../../../components/molecules/Card";
+import FragmentRender from "../../../components/fragment_renderer/FragmentRender";
+import { sortUpdatesByDate } from "../../../lib/utils/sortUpdatesByDate";
+ 
+export default function MscaDashboard(props) {
+  const pageData = props.pageData?.item;
+  const updatesData = sortUpdatesByDate(props.updatesData);
+ 
+  const filteredDictionary = props.dictionary?.items?.filter(
+    (item) =>
+      item.scId === "STARTED" ||
+      item.scId === "ENDED" ||
+      item.scId === "PROJECT-STAGE" ||
+      item.scId === "SUMMARY"
+  );
+ 
+  const displayProjectUpdates = updatesData.map((update) => (
+    <li key={update.scId} className="list-none ml-0 col-span-12 lg:col-span-4">
+      <Card
+        showImage
+        imgSrc={
+          props.locale === "en"
+            ? `https://www.canada.ca${update.scSocialMediaImageEn?._path}`
+            : `https://www.canada.ca${update.scSocialMediaImageFr?._path}`
+        }
+        imgAlt={
+          props.locale === "en"
+            ? update.scSocialMediaImageAltTextEn
+            : update.scSocialMediaImageAltTextFr
+        }
+        imgHeight={update.scSocialMediaImageEn.height}
+        imgWidth={update.scSocialMediaImageEn.width}
+        title={props.locale === "en" ? update.scTitleEn : update.scTitleFr}
+        href={props.locale === "en" ? update.scPageNameEn : update.scPageNameFr}
+        description={`${
+          props.locale === "en"
+            ? props.dictionary.items[13].scTermEn
+            : props.dictionary.items[13].scTermFr
+        } ${update.scDateModifiedOverwrite}`}
+      />
+    </li>
+  ));
+ 
+  useEffect(() => {
+    Iif (props.adobeAnalyticsUrl) {
+      window.adobeDataLayer = window.adobeDataLayer || [];
+      window.adobeDataLayer.push({ event: "pageLoad" });
+    }
+  }, []);
+ 
+  return (
+    <>
+      <Layout
+        locale={props.locale}
+        langUrl={
+          props.locale === "en" ? pageData.scPageNameFr : pageData.scPageNameEn
+        }
+        dateModifiedOverride={pageData.scDateModifiedOverwrite}
+        breadcrumbItems={createBreadcrumbs(
+          pageData.scBreadcrumbParentPages,
+          props.locale
+        )}
+      >
+        <Head>
+          {/* Primary HTML Meta Tags */}
+          <title>
+            {props.locale === "en"
+              ? `${pageData.scTitleEn} - Service Canada Labs`
+              : `${pageData.scTitleFr} - Laboratoires de Service Canada`}
+          </title>
+          <meta
+            name="description"
+            content={
+              props.locale === "en"
+                ? pageData.scDescriptionEn.json[0].content[0].value
+                : pageData.scDescriptionFr.json[0].content[0].value
+            }
+          />
+          <meta name="author" content="Service Canada" />
+          <link rel="icon" href="/favicon.ico" />
+          <link
+            rel="canonical"
+            href={
+              "https://alpha.service.canada.ca" +
+              `${
+                props.locale === "en"
+                  ? pageData.scPageNameEn
+                  : pageData.scPageNameFr
+              }`
+            }
+          />
+          <link rel="schema.dcterms" href="http://purl.org/dc/terms/" />
+          <meta
+            name="keywords"
+            content={
+              props.locale === "en"
+                ? pageData.scKeywordsEn
+                : pageData.scKeywordsFr
+            }
+          />
+ 
+          {/* DCMI Meta Tags */}
+          <meta
+            name="dcterms.title"
+            content={
+              props.locale === "en" ? pageData.scTitleEn : pageData.scTitleFr
+            }
+          />
+          <meta
+            name="dcterms.language"
+            content={props.locale === "en" ? "eng" : "fra"}
+            title="ISO639-2/T"
+          />
+          <meta
+            name="dcterms.creator"
+            content={
+              props.locale === "en"
+                ? "Employment and Social Development Canada"
+                : "Emploi et Développement social Canada"
+            }
+          />
+          <meta name="dcterms.accessRights" content="2" />
+          <meta
+            name="dcterms.service"
+            content="ESDC-EDSC_SCLabs-LaboratoireSC"
+          />
+          <meta name="dcterms.issued" title="W3CDTF" content="2021-07-20" />
+ 
+          <meta name="dcterms.modified" title="W3CDTF" content="2021-12-16" />
+          <meta
+            name="dcterms.description"
+            content={
+              props.locale === "en"
+                ? pageData.scDescriptionEn.json[0].content[0].value
+                : pageData.scDescriptionFr.json[0].content[0].value
+            }
+          />
+          <meta
+            name="dcterms.subject"
+            title="gccore"
+            content={pageData.scSubject}
+          />
+          <meta name="dcterms.spatial" content="Canada" />
+ 
+          {/* Open Graph / Facebook */}
+          <meta property="og:type" content="website" />
+          <meta property="og:locale" content={props.locale} />
+          <meta
+            property="og:url"
+            content={
+              "https://alpha.service.canada.ca" +
+              `${
+                props.locale === "en"
+                  ? pageData.scPageNameEn
+                  : pageData.scPageNameFr
+              }`
+            }
+          />
+          <meta
+            property="og:title"
+            content={
+              props.locale === "en" ? pageData.scTitleEn : pageData.scTitleFr
+            }
+          />
+          <meta
+            property="og:description"
+            content={
+              props.locale === "en"
+                ? pageData.scFragments[0].scContentEn.json[0].content[0].value
+                : pageData.scFragments[0].scContentFr.json[0].content[0].value
+            }
+          />
+          {/* <meta
+            property="og:image"
+            content={pageData.scSocialMediaImageEn._publishUrl}
+          /> */}
+          <meta
+            property="og:image:alt"
+            content={
+              props.locale === "en" ? pageData.scTitleEn : pageData.scTitleFr
+            }
+          />
+ 
+          {/* Twitter */}
+          <meta property="twitter:card" content="summary_large_image" />
+          <meta
+            property="twitter:url"
+            content={
+              "https://alpha.service.canada.ca" +
+              `${
+                props.locale === "en"
+                  ? pageData.scPageNameEn
+                  : pageData.scPageNameFr
+              }`
+            }
+          />
+          <meta
+            property="twitter:title"
+            content={
+              props.locale === "en" ? pageData.scTitleEn : pageData.scTitleFr
+            }
+          />
+          <meta name="twitter:creator" content="Service Canada" />
+          <meta
+            property="twitter:description"
+            content={
+              props.locale === "en"
+                ? pageData.scFragments[0].scContentEn.json[1].content[0].value
+                : pageData.scFragments[0].scContentFr.json[1].content[0].value
+            }
+          />
+          {/* <meta
+            property="twitter:image"
+            content={pageData.scSocialMediaImageEn._publishUrl}
+          /> */}
+          <meta
+            property="twitter:image:alt"
+            content={
+              props.locale === "en" ? pageData.scTitleEn : pageData.scTitleFr
+            }
+          />
+        </Head>
+ 
+        <div className="layout-container">
+          <section aria-labelledby="pageMainTitle">
+            <div className="flex flex-col break-words lg:grid lg:grid-cols-2">
+              <div className="col-span-2">
+                <Heading
+                  tabIndex="-1"
+                  id="pageMainTitle"
+                  title={
+                    props.locale === "en"
+                      ? pageData.scTitleEn
+                      : pageData.scTitleFr
+                  }
+                />
+              </div>
+              <div className="hidden lg:grid row-span-2 row-start-2 col-start-2 p-0 mx-4">
+                <div className="flex justify-center">
+                  <div className="object-fill h-auto w-auto max-w-450px">
+                    <Image
+                      src={
+                        props.locale === "en"
+                          ? pageData.scFragments[1].scImageEn._publishUrl
+                          : pageData.scFragments[1].scImageFr._publishUrl
+                      }
+                      alt={
+                        (props.locale === "en"
+                          ? pageData.scFragments[1].scImageAltTextEn
+                          : pageData.scFragments[1].scImageAltTextFr) ?? ""
+                      }
+                      height={pageData.scFragments[1].scImageEn.height}
+                      width={pageData.scFragments[1].scImageEn.width}
+                      priority
+                      sizes="33vw"
+                      quality={100}
+                    />
+                  </div>
+                </div>
+              </div>
+              <p className="row-start-2 font-body text-lg mb-4">
+                {props.locale === "en"
+                  ? pageData.scFragments[0].scContentEn.json[1].content[0].value
+                  : pageData.scFragments[0].scContentFr.json[1].content[0]
+                      .value}
+              </p>
+              <div className="row-start-3">
+                <ProjectInfo
+                  locale={props.locale}
+                  termStarted={
+                    props.locale === "en"
+                      ? filteredDictionary[2].scTermEn
+                      : filteredDictionary[2].scTermFr
+                  }
+                  termStage={
+                    props.locale === "en"
+                      ? filteredDictionary[1].scTermEn
+                      : filteredDictionary[1].scTermFr
+                  }
+                  termSummary={
+                    props.locale === "en"
+                      ? filteredDictionary[3].scTermEn
+                      : filteredDictionary[3].scTermFr
+                  }
+                  dateStarted={
+                    pageData.scFragments[0].scContentEn.json[2].content[0].value
+                  }
+                  term={
+                    props.locale === "en"
+                      ? pageData.scFragments[2].scContentEn.json[0].content[0]
+                          .value
+                      : pageData.scFragments[2].scContentFr.json[0].content[0]
+                          .value
+                  }
+                  definition={
+                    props.locale === "en"
+                      ? pageData.scFragments[2].scContentEn.json[0].content[1]
+                          .value
+                      : pageData.scFragments[2].scContentFr.json[0].content[1]
+                          .value
+                  }
+                  information={
+                    props.locale === "en"
+                      ? pageData.scFragments[2].scTitleEn
+                      : pageData.scFragments[2].scTitleFr
+                  }
+                  stage={
+                    props.locale === "en"
+                      ? stageDictionary.en[pageData.scLabProjectStage]
+                      : stageDictionary.fr[pageData.scLabProjectStage]
+                  }
+                  summary={
+                    props.locale === "en"
+                      ? pageData.scFragments[0].scContentEn.json[4].content[0]
+                          .value
+                      : pageData.scFragments[0].scContentFr.json[4].content[0]
+                          .value
+                  }
+                />
+              </div>
+            </div>
+          </section>
+        </div>
+        <section id="pageMainContent">
+          <FragmentRender
+            locale={props.locale}
+            fragments={pageData.scFragments.slice(3)}
+            excludeH1={true}
+          />
+        </section>
+        {updatesData.length === 0 ? null : (
+          <section id="projectUpdates" className="layout-container">
+            <h2>
+              {props.locale === "en"
+                ? "Project updates"
+                : "Mises à jour du projet"}
+            </h2>
+            <ul className="grid lg:grid-cols-12 gap-x-4 lg:gap-y-12 list-none ml-0 mb-12">
+              {displayProjectUpdates}
+            </ul>
+          </section>
+        )}
+      </Layout>
+    </>
+  );
+}
+ 
+export const getStaticProps = async ({ locale }) => {
+  // get page data from AEM
+  const { data: pageData } = await aemServiceInstance.getFragment(
+    "getMSCADashBoardPage"
+  );
+  // get dictionary
+  const { data: dictionary } = await aemServiceInstance.getFragment(
+    "dictionaryQuery"
+  );
+ 
+  return {
+    props: {
+      locale: locale,
+      adobeAnalyticsUrl: process.env.ADOBE_ANALYTICS_URL ?? null,
+      pageData: pageData.sclabsPageV1ByPath,
+      updatesData: pageData.sclabsPageV1ByPath.item.scLabProjectUpdates,
+      dictionary: dictionary.dictionaryV1List,
+      ...(await serverSideTranslations(locale, ["common"])),
+    },
+    revalidate: process.env.ISR_ENABLED === "true" ? 10 : false,
+  };
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/pages/projects/digital-standards-playbook/[id].js.html b/main/coverage/lcov-report/pages/projects/digital-standards-playbook/[id].js.html new file mode 100644 index 0000000000..78880990b4 --- /dev/null +++ b/main/coverage/lcov-report/pages/projects/digital-standards-playbook/[id].js.html @@ -0,0 +1,499 @@ + + + + + + Code coverage report for pages/projects/digital-standards-playbook/[id].js + + + + + + + + + +
+
+

All files / pages/projects/digital-standards-playbook [id].js

+
+ +
+ 0% + Statements + 0/34 +
+ + +
+ 0% + Branches + 0/24 +
+ + +
+ 0% + Functions + 0/6 +
+ + +
+ 0% + Lines + 0/32 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { serverSideTranslations } from "next-i18next/serverSideTranslations";
+import { useTranslation } from "next-i18next";
+import PageHead from "../../../components/fragment_renderer/PageHead";
+import { Layout } from "../../../components/organisms/Layout";
+import { useEffect, useState } from "react";
+import aemServiceInstance from "../../../services/aemServiceInstance";
+import { getAllUpdateIds } from "../../../lib/utils/getAllUpdateIds";
+import { createBreadcrumbs } from "../../../lib/utils/createBreadcrumbs";
+import FragmentRender from "../../../components/fragment_renderer/FragmentRender";
+import { Heading } from "../../../components/molecules/Heading";
+ 
+export default function DigitalStandardsArticles(props) {
+  const { t } = useTranslation("common");
+  const [pageData] = useState(props.pageData);
+  const [dictionary] = useState(props.dictionary.items);
+ 
+  useEffect(() => {
+    Iif (props.adobeAnalyticsUrl) {
+      window.adobeDataLayer = window.adobeDataLayer || [];
+      window.adobeDataLayer.push({ event: "pageLoad" });
+    }
+  }, []);
+ 
+  return (
+    <>
+      <Layout
+        locale={props.locale}
+        langUrl={
+          props.locale === "en" ? pageData.scPageNameFr : pageData.scPageNameEn
+        }
+        dateModifiedOverride={pageData.scDateModifiedOverwrite}
+        breadcrumbItems={createBreadcrumbs(
+          pageData.scBreadcrumbParentPages,
+          props.locale
+        )}
+      >
+        <PageHead pageData={pageData} locale={props.locale} />
+        <section className="mb-12">
+          <div className="layout-container">
+            <Heading
+              tabIndex="-1"
+              id="pageMainTitle"
+              title={
+                props.locale === "en" ? pageData.scTitleEn : pageData.scTitleFr
+              }
+            />
+            <div id="postedOnUpdatedOnSection" className="grid grid-cols-12">
+              <p
+                className={`col-span-6 sm:col-span-4 ${
+                  props.locale === "en" ? "lg:col-span-2" : "lg:col-span-3"
+                } font-bold`}
+              >
+                {props.locale === "en"
+                  ? dictionary[13].scTermEn
+                  : dictionary[13].scTermFr}
+              </p>
+              <p className="col-span-6 col-start-7 sm:col-start-5 lg:col-span-2 md:col-start-5 mt-0">
+                {pageData.scDateModifiedOverwrite}
+              </p>
+              <p
+                className={`row-start-2 col-span-6 sm:col-span-4 mt-0 ${
+                  props.locale === "en" ? "lg:col-span-2" : "lg:col-span-3"
+                } font-bold`}
+              >
+                {props.locale === "en"
+                  ? dictionary[8].scTermEn
+                  : dictionary[8].scTermFr}
+              </p>
+              <p className="row-start-2 col-span-6 col-start-7 sm:col-start-5 lg:col-span-2 md:col-start-5 mt-auto">
+                {pageData.scDateModifiedOverwrite}
+              </p>
+            </div>
+          </div>
+ 
+          {/* Main */}
+          <div id="mainContentSection">
+            <FragmentRender
+              fragments={props.pageData.scFragments}
+              locale={props.locale}
+            />
+          </div>
+        </section>
+      </Layout>
+    </>
+  );
+}
+ 
+export async function getStaticPaths() {
+  // Get pages data
+  const { data } = await aemServiceInstance.getFragment(
+    "getDigitalStandardsPlaybookArticles"
+  );
+  // Get paths for dynamic routes from the page name data
+  const paths = getAllUpdateIds(data.sclabsPageV1List.items);
+  // Remove characters preceding the page name itself i.e. change "/en/projects/oas-benefits-estimator/what-we-learned" to "what-we-learned"
+  paths.map((path) => (path.params.id = path.params.id.split("/").at(-1)));
+  return {
+    paths,
+    fallback: "blocking",
+  };
+}
+ 
+export const getStaticProps = async ({ locale, params }) => {
+  // Get pages data
+  const { data } = await aemServiceInstance.getFragment(
+    "getDigitalStandardsPlaybookArticles"
+  );
+  // get dictionary
+  const { data: dictionary } = await aemServiceInstance.getFragment(
+    "dictionaryQuery"
+  );
+  const pages = data.sclabsPageV1List.items;
+  // Return page data that matches the current page being built
+  const pageData = pages.filter((page) => {
+    return (
+      (locale === "en" ? page.scPageNameEn : page.scPageNameFr)
+        .split("/")
+        .at(-1) === params.id
+    );
+  });
+ 
+  Iif (!pageData || !pageData.length) {
+    return {
+      notFound: true,
+    };
+  }
+ 
+  return {
+    props: {
+      locale: locale,
+      pageData: pageData[0],
+      dictionary: dictionary.dictionaryV1List,
+      adobeAnalyticsUrl: process.env.ADOBE_ANALYTICS_URL ?? null,
+      ...(await serverSideTranslations(locale, ["common"])),
+    },
+    revalidate: process.env.ISR_ENABLED === "true" ? 10 : false,
+  };
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/pages/projects/digital-standards-playbook/index.html b/main/coverage/lcov-report/pages/projects/digital-standards-playbook/index.html new file mode 100644 index 0000000000..76f064f5ed --- /dev/null +++ b/main/coverage/lcov-report/pages/projects/digital-standards-playbook/index.html @@ -0,0 +1,131 @@ + + + + + + Code coverage report for pages/projects/digital-standards-playbook + + + + + + + + + +
+
+

All files pages/projects/digital-standards-playbook

+
+ +
+ 36.5% + Statements + 23/63 +
+ + +
+ 41.54% + Branches + 59/142 +
+ + +
+ 36.36% + Functions + 4/11 +
+ + +
+ 38.33% + Lines + 23/60 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
[id].js +
+
0%0/340%0/240%0/60%0/32
index.js +
+
79.31%23/2950%59/11880%4/582.14%23/28
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/pages/projects/digital-standards-playbook/index.js.html b/main/coverage/lcov-report/pages/projects/digital-standards-playbook/index.js.html new file mode 100644 index 0000000000..cc6c49d35f --- /dev/null +++ b/main/coverage/lcov-report/pages/projects/digital-standards-playbook/index.js.html @@ -0,0 +1,1537 @@ + + + + + + Code coverage report for pages/projects/digital-standards-playbook/index.js + + + + + + + + + +
+
+

All files / pages/projects/digital-standards-playbook index.js

+
+ +
+ 79.31% + Statements + 23/29 +
+ + +
+ 50% + Branches + 59/118 +
+ + +
+ 80% + Functions + 4/5 +
+ + +
+ 82.14% + Lines + 23/28 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 +421 +422 +423 +424 +425 +426 +427 +428 +429 +430 +431 +432 +433 +434 +435 +436 +437 +438 +439 +440 +441 +442 +443 +444 +445 +446 +447 +448 +449 +450 +451 +452 +453 +454 +455 +456 +457 +458 +459 +460 +461 +462 +463 +464 +465 +466 +467 +468 +469 +470 +471 +472 +473 +474 +475 +476 +477 +478 +479 +480 +481 +482 +483 +484 +4851x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +  +1x +2x +1x +  +1x +  +21x +  +  +  +  +  +1x +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import Head from "next/head";
+import { serverSideTranslations } from "next-i18next/serverSideTranslations";
+import { Layout } from "../../../components/organisms/Layout";
+import { useEffect, useState } from "react";
+import aemServiceInstance from "../../../services/aemServiceInstance";
+import { ProjectInfo } from "../../../components/atoms/ProjectInfo";
+import Card from "../../../components/molecules/Card";
+import { createBreadcrumbs } from "../../../lib/utils/createBreadcrumbs";
+import { Heading } from "../../../components/molecules/Heading";
+import { ActionButton } from "../../../components/atoms/ActionButton";
+import Image from "next/image";
+import stageDictionary from "../../../lib/utils/stageDictionary";
+import { sortUpdatesByDate } from "../../../lib/utils/sortUpdatesByDate";
+ 
+export default function DigitalStandardsPlaybookPage(props) {
+  const [pageData] = useState(props.pageData.item);
+  const updatesData = sortUpdatesByDate(props.updatesData);
+ 
+  const filteredDictionary = props.dictionary?.items?.filter(
+    (item) =>
+      item.scId === "STARTED" ||
+      item.scId === "ENDED" ||
+      item.scId === "PROJECT-STAGE" ||
+      item.scId === "SUMMARY"
+  );
+ 
+  const displayProjectUpdates = updatesData.map((update) => (
+    <li key={update.scId} className="list-none ml-0 col-span-12 lg:col-span-4">
+      <Card
+        showImage
+        imgSrc={
+          props.locale === "en"
+            ? `https://www.canada.ca${update.scSocialMediaImageEn?._path}`
+            : `https://www.canada.ca${update.scSocialMediaImageFr?._path}`
+        }
+        imgAlt={
+          props.locale === "en"
+            ? update.scSocialMediaImageAltTextEn
+            : update.scSocialMediaImageAltTextFr
+        }
+        imgHeight={update.scSocialMediaImageEn.height}
+        imgWidth={update.scSocialMediaImageEn.width}
+        title={props.locale === "en" ? update.scTitleEn : update.scTitleFr}
+        href={props.locale === "en" ? update.scPageNameEn : update.scPageNameFr}
+        description={`${
+          props.locale === "en"
+            ? props.dictionary.items[13].scTermEn
+            : props.dictionary.items[13].scTermFr
+        } ${update.scDateModifiedOverwrite}`}
+      />
+    </li>
+  ));
+ 
+  useEffect(() => {
+    Iif (props.adobeAnalyticsUrl) {
+      window.adobeDataLayer = window.adobeDataLayer || [];
+      window.adobeDataLayer.push({ event: "pageLoad" });
+    }
+  }, []);
+ 
+  return (
+    <>
+      <Layout
+        locale={props.locale}
+        langUrl={
+          props.locale === "en" ? pageData.scPageNameFr : pageData.scPageNameEn
+        }
+        dateModifiedOverride={pageData.scDateModifiedOverwrite ?? "2023-11-24"}
+        breadcrumbItems={createBreadcrumbs(
+          pageData.scBreadcrumbParentPages,
+          props.locale
+        )}
+      >
+        <Head>
+          {/* Primary HTML Meta Tags */}
+          <title>
+            {props.locale === "en"
+              ? `${pageData.scTitleEn} - Service Canada Labs`
+              : `${pageData.scTitleFr} - Laboratoires de Service Canada`}
+          </title>
+          <meta
+            name="description"
+            content={
+              props.locale === "en"
+                ? pageData.scDescriptionEn.json[0].content[0].value
+                : pageData.scDescriptionFr.json[0].content[0].value
+            }
+          />
+          <meta name="author" content="Service Canada" />
+          <link rel="icon" href="/favicon.ico" />
+          <link
+            rel="canonical"
+            href={
+              "https://alpha.service.canada.ca" +
+              `${
+                props.locale === "en"
+                  ? pageData.scPageNameEn
+                  : pageData.scPageNameFr
+              }`
+            }
+          />
+          <link rel="schema.dcterms" href="http://purl.org/dc/terms/" />
+          <meta
+            name="keywords"
+            content={
+              props.locale === "en"
+                ? pageData.scKeywordsEn
+                : pageData.scKeywordsFr
+            }
+          />
+ 
+          {/* DCMI Meta Tags */}
+          <meta
+            name="dcterms.title"
+            content={
+              props.locale === "en" ? pageData.scTitleEn : pageData.scTitleFr
+            }
+          />
+          <meta
+            name="dcterms.language"
+            content={props.locale === "en" ? "eng" : "fra"}
+            title="ISO639-2/T"
+          />
+          <meta
+            name="dcterms.creator"
+            content={
+              props.locale === "en"
+                ? "Employment and Social Development Canada"
+                : "Emploi et Développement social Canada"
+            }
+          />
+          <meta name="dcterms.accessRights" content="2" />
+          <meta
+            name="dcterms.service"
+            content="ESDC-EDSC_SCLabs-LaboratoireSC"
+          />
+          <meta name="dcterms.issued" title="W3CDTF" content="2021-07-20" />
+ 
+          <meta name="dcterms.modified" title="W3CDTF" content="2021-12-16" />
+          <meta
+            name="dcterms.description"
+            content={
+              props.locale === "en"
+                ? pageData.scDescriptionEn.json[0].content[0].value
+                : pageData.scDescriptionFr.json[0].content[0].value
+            }
+          />
+          <meta
+            name="dcterms.subject"
+            title="gccore"
+            content={pageData.scSubject}
+          />
+          <meta name="dcterms.spatial" content="Canada" />
+ 
+          {/* Open Graph / Facebook */}
+          <meta property="og:type" content="website" />
+          <meta property="og:locale" content={props.locale} />
+          <meta
+            property="og:url"
+            content={
+              "https://alpha.service.canada.ca" +
+              `${
+                props.locale === "en"
+                  ? pageData.scPageNameEn
+                  : pageData.scPageNameFr
+              }`
+            }
+          />
+          <meta
+            property="og:title"
+            content={
+              props.locale === "en" ? pageData.scTitleEn : pageData.scTitleFr
+            }
+          />
+          <meta
+            property="og:description"
+            content={
+              props.locale === "en"
+                ? pageData.scFragments[0].scContentEn.json[0].content[0].value
+                : pageData.scFragments[0].scContentFr.json[0].content[0].value
+            }
+          />
+          <meta
+            property="og:image"
+            content={pageData.scSocialMediaImageEn._publishUrl}
+          />
+          <meta
+            property="og:image:alt"
+            content={
+              props.locale === "en" ? pageData.scTitleEn : pageData.scTitleFr
+            }
+          />
+ 
+          {/* Twitter */}
+          <meta property="twitter:card" content="summary_large_image" />
+          <meta
+            property="twitter:url"
+            content={
+              "https://alpha.service.canada.ca" +
+              `${
+                props.locale === "en"
+                  ? pageData.scPageNameEn
+                  : pageData.scPageNameFr
+              }`
+            }
+          />
+          <meta
+            property="twitter:title"
+            content={
+              props.locale === "en" ? pageData.scTitleEn : pageData.scTitleFr
+            }
+          />
+          <meta name="twitter:creator" content="Service Canada" />
+          <meta
+            property="twitter:description"
+            content={
+              props.locale === "en"
+                ? pageData.scFragments[0].scContentEn.json[1].content[0].value
+                : pageData.scFragments[0].scContentFr.json[1].content[0].value
+            }
+          />
+          <meta
+            property="twitter:image"
+            content={pageData.scSocialMediaImageEn._publishUrl}
+          />
+          <meta
+            property="twitter:image:alt"
+            content={
+              props.locale === "en" ? pageData.scTitleEn : pageData.scTitleFr
+            }
+          />
+        </Head>
+ 
+        <div className="layout-container">
+          <section aria-labelledby="pageMainTitle">
+            <div className="flex flex-col break-words lg:grid lg:grid-cols-2">
+              <div className="col-span-2">
+                <Heading
+                  tabIndex="-1"
+                  id="pageMainTitle"
+                  title={
+                    props.locale === "en"
+                      ? pageData.scTitleEn
+                      : pageData.scTitleFr
+                  }
+                />
+              </div>
+              <div className="hidden lg:grid row-span-2 row-start-2 col-start-2 p-0 mx-4">
+                <div className="flex justify-center">
+                  <div className="object-fill h-auto w-auto max-w-450px">
+                    <Image
+                      src={
+                        props.locale === "en"
+                          ? pageData.scFragments[2].scImageEn._publishUrl
+                          : pageData.scFragments[2].scImageFr._publishUrl
+                      }
+                      alt={
+                        (props.locale === "en"
+                          ? pageData.scFragments[2].scImageAltTextEn
+                          : pageData.scFragments[2].scImageAltTextFr) ?? ""
+                      }
+                      height={pageData.scFragments[2].scImageEn.height}
+                      width={pageData.scFragments[2].scImageEn.width}
+                      priority
+                      sizes="33vw"
+                      quality={100}
+                    />
+                  </div>
+                </div>
+              </div>
+              <p className="row-start-2 font-body text-lg mb-4">
+                {props.locale === "en"
+                  ? pageData.scFragments[0].scContentEn.json[1].content[0].value
+                  : pageData.scFragments[0].scContentFr.json[1].content[0]
+                      .value}
+              </p>
+              <div className="row-start-3">
+                <ProjectInfo
+                  locale={props.locale}
+                  termStarted={
+                    props.locale === "en"
+                      ? filteredDictionary[2].scTermEn
+                      : filteredDictionary[2].scTermFr
+                  }
+                  termStage={
+                    props.locale === "en"
+                      ? filteredDictionary[1].scTermEn
+                      : filteredDictionary[1].scTermFr
+                  }
+                  termSummary={
+                    props.locale === "en"
+                      ? filteredDictionary[3].scTermEn
+                      : filteredDictionary[3].scTermFr
+                  }
+                  dateStarted={
+                    pageData.scFragments[0].scContentEn.json[2].content[0].value
+                  }
+                  term={
+                    props.locale === "en"
+                      ? pageData.scFragments[1].scContentEn.json[0].content[0]
+                          .value
+                      : pageData.scFragments[1].scContentFr.json[0].content[0]
+                          .value
+                  }
+                  definition={
+                    props.locale === "en"
+                      ? pageData.scFragments[1].scContentEn.json[0].content[1]
+                          .value
+                      : pageData.scFragments[1].scContentFr.json[0].content[1]
+                          .value
+                  }
+                  information={
+                    props.locale === "en"
+                      ? pageData.scFragments[2].scTitleEn
+                      : pageData.scFragments[2].scTitleFr
+                  }
+                  stage={
+                    props.locale === "en"
+                      ? stageDictionary.en[pageData.scLabProjectStage]
+                      : stageDictionary.fr[pageData.scLabProjectStage]
+                  }
+                  summary={
+                    props.locale === "en"
+                      ? pageData.scFragments[0].scContentEn.json[4].content[0]
+                          .value
+                      : pageData.scFragments[0].scContentFr.json[4].content[0]
+                          .value
+                  }
+                />
+              </div>
+            </div>
+          </section>
+          <section id="pageMainContent">
+            <div className="grid grid-cols-12">
+              <h2 className="col-span-12">
+                {props.locale === "en"
+                  ? pageData.scFragments[0].scContentEn.json[5].content[0].value
+                  : pageData.scFragments[0].scContentFr.json[5].content[0]
+                      .value}
+              </h2>
+              <p className="col-span-12 xl:col-span-8">
+                {props.locale === "en"
+                  ? pageData.scFragments[0].scContentEn.json[6].content[0].value
+                  : pageData.scFragments[0].scContentFr.json[6].content[0]
+                      .value}
+              </p>
+              <p className="col-span-12 xl:col-span-8">
+                {props.locale === "en"
+                  ? pageData.scFragments[0].scContentEn.json[7].content[0].value
+                  : pageData.scFragments[0].scContentFr.json[7].content[0]
+                      .value}
+              </p>
+ 
+              <h2 className="col-span-12">
+                {props.locale === "en"
+                  ? pageData.scFragments[0].scContentEn.json[8].content[0].value
+                  : pageData.scFragments[0].scContentFr.json[8].content[0]
+                      .value}
+              </h2>
+              <p className="col-span-12 xl:col-span-8">
+                {props.locale === "en"
+                  ? pageData.scFragments[0].scContentEn.json[9].content[0].value
+                  : pageData.scFragments[0].scContentFr.json[9].content[0]
+                      .value}
+                <a
+                  className="underline underline-offset-[6px]"
+                  href={
+                    props.locale === "en"
+                      ? pageData.scFragments[0].scContentEn.json[9].content[1]
+                          .data.href
+                      : pageData.scFragments[0].scContentFr.json[9].content[1]
+                          .data.href
+                  }
+                >
+                  {props.locale === "en"
+                    ? pageData.scFragments[0].scContentEn.json[9].content[1]
+                        .value
+                    : pageData.scFragments[0].scContentFr.json[9].content[1]
+                        .value}
+                </a>
+                {props.locale === "en"
+                  ? pageData.scFragments[0].scContentEn.json[9].content[2].value
+                  : pageData.scFragments[0].scContentFr.json[9].content[2]
+                      .value}
+              </p>
+              <p className="col-span-12 xl:col-span-8">
+                {props.locale === "en"
+                  ? pageData.scFragments[0].scContentEn.json[10].content[0]
+                      .value
+                  : pageData.scFragments[0].scContentFr.json[10].content[0]
+                      .value}
+              </p>
+ 
+              <ActionButton
+                id="take-survey"
+                style="primary"
+                custom="col-span-12 my-6"
+                href={
+                  props.locale === "en"
+                    ? pageData.scFragments[3].scDestinationURLEn
+                    : pageData.scFragments[3].scDestinationURLFr
+                }
+                text={
+                  props.locale === "en"
+                    ? pageData.scFragments[3].scTitleEn
+                    : pageData.scFragments[3].scTitleFr
+                }
+                ariaExpanded={props.ariaExpanded}
+              />
+ 
+              <p className="col-span-12 xl:col-span-8">
+                {props.locale === "en"
+                  ? pageData.scFragments[4].scContentEn.json[0].content[0].value
+                  : pageData.scFragments[4].scContentFr.json[0].content[0]
+                      .value}
+                <a
+                  className="underline underline-offset-[6px]"
+                  href={
+                    props.locale === "en"
+                      ? pageData.scFragments[4].scContentEn.json[0].content[1]
+                          .data.href
+                      : pageData.scFragments[4].scContentFr.json[0].content[1]
+                          .data.href
+                  }
+                >
+                  {props.locale === "en"
+                    ? pageData.scFragments[4].scContentEn.json[0].content[1]
+                        .value
+                    : pageData.scFragments[4].scContentFr.json[0].content[1]
+                        .value}
+                </a>
+                {props.locale === "en"
+                  ? pageData.scFragments[4].scContentEn.json[0].content[2].value
+                  : pageData.scFragments[4].scContentFr.json[0].content[2]
+                      .value}
+              </p>
+              <p className="col-span-12 xl:col-span-8">
+                {props.locale === "en"
+                  ? pageData.scFragments[4].scContentEn.json[1].content[0].value
+                  : pageData.scFragments[4].scContentFr.json[1].content[0]
+                      .value}
+              </p>
+            </div>
+          </section>
+          {updatesData.length === 0 ? null : (
+            <section id="projectUpdates">
+              <h2>
+                {props.locale === "en"
+                  ? "Project updates"
+                  : "Mises à jour du projet"}
+              </h2>
+              <ul className="grid lg:grid-cols-12 gap-x-4 lg:gap-y-12 list-none ml-0 mb-12">
+                {displayProjectUpdates}
+              </ul>
+            </section>
+          )}
+        </div>
+      </Layout>
+    </>
+  );
+}
+ 
+export const getStaticProps = async ({ locale }) => {
+  // get page data from AEM
+  const { data: pageData } = await aemServiceInstance.getFragment(
+    "getDigitalStandardsPlaybookPage"
+  );
+  // get dictionary
+  const { data: dictionary } = await aemServiceInstance.getFragment(
+    "dictionaryQuery"
+  );
+ 
+  return {
+    props: {
+      locale: locale,
+      adobeAnalyticsUrl: process.env.ADOBE_ANALYTICS_URL ?? null,
+      pageData: pageData.sclabsPageV1ByPath,
+      updatesData: pageData.sclabsPageV1ByPath.item.scLabProjectUpdates,
+      dictionary: dictionary.dictionaryV1List,
+      ...(await serverSideTranslations(locale, ["common"])),
+    },
+    revalidate: process.env.ISR_ENABLED === "true" ? 10 : false,
+  };
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/pages/projects/making-easier-get-benefits/[id].js.html b/main/coverage/lcov-report/pages/projects/making-easier-get-benefits/[id].js.html new file mode 100644 index 0000000000..b18072fa6d --- /dev/null +++ b/main/coverage/lcov-report/pages/projects/making-easier-get-benefits/[id].js.html @@ -0,0 +1,499 @@ + + + + + + Code coverage report for pages/projects/making-easier-get-benefits/[id].js + + + + + + + + + +
+
+

All files / pages/projects/making-easier-get-benefits [id].js

+
+ +
+ 0% + Statements + 0/34 +
+ + +
+ 0% + Branches + 0/24 +
+ + +
+ 0% + Functions + 0/6 +
+ + +
+ 0% + Lines + 0/32 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { serverSideTranslations } from "next-i18next/serverSideTranslations";
+import { useTranslation } from "next-i18next";
+import PageHead from "../../../components/fragment_renderer/PageHead";
+import { Layout } from "../../../components/organisms/Layout";
+import { useEffect, useState } from "react";
+import aemServiceInstance from "../../../services/aemServiceInstance";
+import { getAllUpdateIds } from "../../../lib/utils/getAllUpdateIds";
+import { createBreadcrumbs } from "../../../lib/utils/createBreadcrumbs";
+import FragmentRender from "../../../components/fragment_renderer/FragmentRender";
+import { Heading } from "../../../components/molecules/Heading";
+ 
+export default function IntegratedChannelStrategyArticles(props) {
+  const { t } = useTranslation("common");
+  const [pageData] = useState(props.pageData);
+  const [dictionary] = useState(props.dictionary.items);
+ 
+  useEffect(() => {
+    Iif (props.adobeAnalyticsUrl) {
+      window.adobeDataLayer = window.adobeDataLayer || [];
+      window.adobeDataLayer.push({ event: "pageLoad" });
+    }
+  }, []);
+ 
+  return (
+    <>
+      <Layout
+        locale={props.locale}
+        langUrl={
+          props.locale === "en" ? pageData.scPageNameFr : pageData.scPageNameEn
+        }
+        dateModifiedOverride={pageData.scDateModifiedOverwrite}
+        breadcrumbItems={createBreadcrumbs(
+          pageData.scBreadcrumbParentPages,
+          props.locale
+        )}
+      >
+        <PageHead pageData={pageData} locale={props.locale} />
+        <section className="mb-12">
+          <div className="layout-container">
+            <Heading
+              tabIndex="-1"
+              id="pageMainTitle"
+              title={
+                props.locale === "en" ? pageData.scTitleEn : pageData.scTitleFr
+              }
+            />
+            <div id="postedOnUpdatedOnSection" className="grid grid-cols-12">
+              <p
+                className={`col-span-6 sm:col-span-4 ${
+                  props.locale === "en" ? "lg:col-span-2" : "lg:col-span-3"
+                } font-bold`}
+              >
+                {props.locale === "en"
+                  ? dictionary[13].scTermEn
+                  : dictionary[13].scTermFr}
+              </p>
+              <p className="col-span-6 col-start-7 sm:col-start-5 lg:col-span-2 md:col-start-5 mt-0">
+                {pageData.scDateModifiedOverwrite}
+              </p>
+              <p
+                className={`row-start-2 col-span-6 sm:col-span-4 mt-0 ${
+                  props.locale === "en" ? "lg:col-span-2" : "lg:col-span-3"
+                } font-bold`}
+              >
+                {props.locale === "en"
+                  ? dictionary[8].scTermEn
+                  : dictionary[8].scTermFr}
+              </p>
+              <p className="row-start-2 col-span-6 col-start-7 sm:col-start-5 lg:col-span-2 md:col-start-5 mt-auto">
+                {pageData.scDateModifiedOverwrite}
+              </p>
+            </div>
+          </div>
+ 
+          {/* Main */}
+          <div id="mainContentSection">
+            <FragmentRender
+              fragments={props.pageData.scFragments}
+              locale={props.locale}
+            />
+          </div>
+        </section>
+      </Layout>
+    </>
+  );
+}
+ 
+export async function getStaticPaths() {
+  // Get pages data
+  const { data } = await aemServiceInstance.getFragment(
+    "integratedChannelStrategyArticlesQuery"
+  );
+  // Get paths for dynamic routes from the page name data
+  const paths = getAllUpdateIds(data.sclabsPageV1List.items);
+  // Remove characters preceding the page name itself i.e. change "/en/projects/oas-benefits-estimator/what-we-learned" to "what-we-learned"
+  paths.map((path) => (path.params.id = path.params.id.split("/").at(-1)));
+  return {
+    paths,
+    fallback: "blocking",
+  };
+}
+ 
+export const getStaticProps = async ({ locale, params }) => {
+  // Get pages data
+  const { data } = await aemServiceInstance.getFragment(
+    "integratedChannelStrategyArticlesQuery"
+  );
+  // get dictionary
+  const { data: dictionary } = await aemServiceInstance.getFragment(
+    "dictionaryQuery"
+  );
+  const pages = data.sclabsPageV1List.items;
+  // Return page data that matches the current page being built
+  const pageData = pages.filter((page) => {
+    return (
+      (locale === "en" ? page.scPageNameEn : page.scPageNameFr)
+        .split("/")
+        .at(-1) === params.id
+    );
+  });
+ 
+  Iif (!pageData || !pageData.length) {
+    return {
+      notFound: true,
+    };
+  }
+ 
+  return {
+    props: {
+      locale: locale,
+      pageData: pageData[0],
+      dictionary: dictionary.dictionaryV1List,
+      adobeAnalyticsUrl: process.env.ADOBE_ANALYTICS_URL ?? null,
+      ...(await serverSideTranslations(locale, ["common"])),
+    },
+    revalidate: process.env.ISR_ENABLED === "true" ? 10 : false,
+  };
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/pages/projects/making-easier-get-benefits/index.html b/main/coverage/lcov-report/pages/projects/making-easier-get-benefits/index.html new file mode 100644 index 0000000000..243d7e3588 --- /dev/null +++ b/main/coverage/lcov-report/pages/projects/making-easier-get-benefits/index.html @@ -0,0 +1,131 @@ + + + + + + Code coverage report for pages/projects/making-easier-get-benefits + + + + + + + + + +
+
+

All files pages/projects/making-easier-get-benefits

+
+ +
+ 35.93% + Statements + 23/64 +
+ + +
+ 32.14% + Branches + 36/112 +
+ + +
+ 27.27% + Functions + 3/11 +
+ + +
+ 37.7% + Lines + 23/61 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
[id].js +
+
0%0/340%0/240%0/60%0/32
index.js +
+
76.66%23/3040.9%36/8860%3/579.31%23/29
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/pages/projects/making-easier-get-benefits/index.js.html b/main/coverage/lcov-report/pages/projects/making-easier-get-benefits/index.js.html new file mode 100644 index 0000000000..39d5d89dbf --- /dev/null +++ b/main/coverage/lcov-report/pages/projects/making-easier-get-benefits/index.js.html @@ -0,0 +1,1243 @@ + + + + + + Code coverage report for pages/projects/making-easier-get-benefits/index.js + + + + + + + + + +
+
+

All files / pages/projects/making-easier-get-benefits index.js

+
+ +
+ 76.66% + Statements + 23/30 +
+ + +
+ 40.9% + Branches + 36/88 +
+ + +
+ 60% + Functions + 3/5 +
+ + +
+ 79.31% + Lines + 23/29 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +3871x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +  +1x +2x +1x +1x +  +  +21x +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import Head from "next/head";
+import { serverSideTranslations } from "next-i18next/serverSideTranslations";
+import { Layout } from "../../../components/organisms/Layout";
+import { ActionButton } from "../../../components//atoms/ActionButton";
+import { useEffect, useState } from "react";
+import aemServiceInstance from "../../../services/aemServiceInstance";
+import { ProjectInfo } from "../../../components/atoms/ProjectInfo";
+import Card from "../../../components/molecules/Card";
+import { createBreadcrumbs } from "../../../lib/utils/createBreadcrumbs";
+import { Heading } from "../../../components/molecules/Heading";
+import TextRender from "../../../components/text_node_renderer/TextRender";
+import Image from "next/image";
+import stageDictionary from "../../../lib/utils/stageDictionary";
+import { sortUpdatesByDate } from "../../../lib/utils/sortUpdatesByDate";
+ 
+export default function IntegratedChannelStrategyPage(props) {
+  const [pageData] = useState(props.pageData.item);
+  const updatesData = sortUpdatesByDate(props.updatesData);
+  const [filteredDictionary] = useState(
+    props.dictionary.items.filter(
+      (item) =>
+        item.scId === "STARTED" ||
+        item.scId === "ENDED" ||
+        item.scId === "PROJECT-STAGE" ||
+        item.scId === "SUMMARY"
+    )
+  );
+ 
+  const displayProjectUpdates = updatesData.map((update) => (
+    <li key={update.scId} className="list-none ml-0 col-span-12 lg:col-span-4">
+      <Card
+        showImage
+        imgSrc={
+          props.locale === "en"
+            ? `https://www.canada.ca${update.scSocialMediaImageEn._path}`
+            : `https://www.canada.ca${update.scSocialMediaImageFr._path}`
+        }
+        imgAlt={
+          (props.locale === "en"
+            ? update.scSocialMediaImageAltTextEn
+            : update.scSocialMediaImageAltTextFr) ?? ""
+        }
+        imgHeight={update.scSocialMediaImageEn.height}
+        imgWidth={update.scSocialMediaImageEn.width}
+        title={props.locale === "en" ? update.scTitleEn : update.scTitleFr}
+        href={props.locale === "en" ? update.scPageNameEn : update.scPageNameFr}
+        description={`${
+          props.locale === "en"
+            ? props.dictionary.items[13].scTermEn
+            : props.dictionary.items[13].scTermFr
+        } ${update.scDateModifiedOverwrite}`}
+      />
+    </li>
+  ));
+ 
+  useEffect(() => {
+    Iif (props.adobeAnalyticsUrl) {
+      window.adobeDataLayer = window.adobeDataLayer || [];
+      window.adobeDataLayer.push({ event: "pageLoad" });
+    }
+  }, []);
+ 
+  return (
+    <>
+      <Layout
+        locale={props.locale}
+        langUrl={
+          props.locale === "en" ? pageData.scPageNameFr : pageData.scPageNameEn
+        }
+        dateModifiedOverride={pageData.scDateModifiedOverwrite}
+        breadcrumbItems={createBreadcrumbs(
+          pageData.scBreadcrumbParentPages,
+          props.locale
+        )}
+      >
+        <Head>
+          {/* Primary HTML Meta Tags */}
+          <title>
+            {props.locale === "en"
+              ? `${pageData.scTitleEn} - Service Canada Labs`
+              : `${pageData.scTitleFr} - Laboratoires de Service Canada`}
+          </title>
+          <meta
+            name="description"
+            content={
+              props.locale === "en"
+                ? pageData.scDescriptionEn.json[0].content[0].value
+                : pageData.scDescriptionFr.json[0].content[0].value
+            }
+          />
+          <meta name="author" content="Service Canada" />
+          <link rel="icon" href="/favicon.ico" />
+          <link
+            rel="canonical"
+            href={
+              "https://alpha.service.canada.ca" +
+              `${
+                props.locale === "en"
+                  ? pageData.scPageNameEn
+                  : pageData.scPageNameFr
+              }`
+            }
+          />
+          <link rel="schema.dcterms" href="http://purl.org/dc/terms/" />
+          <meta
+            name="keywords"
+            content={
+              props.locale === "en"
+                ? pageData.scKeywordsEn
+                : pageData.scKeywordsFr
+            }
+          />
+ 
+          {/* DCMI Meta Tags */}
+          <meta
+            name="dcterms.title"
+            content={
+              props.locale === "en" ? pageData.scTitleEn : pageData.scTitleFr
+            }
+          />
+          <meta
+            name="dcterms.language"
+            content={props.locale === "en" ? "eng" : "fra"}
+            title="ISO639-2/T"
+          />
+          <meta
+            name="dcterms.creator"
+            content={
+              props.locale === "en"
+                ? "Employment and Social Development Canada"
+                : "Emploi et Développement social Canada"
+            }
+          />
+          <meta name="dcterms.accessRights" content="2" />
+          <meta
+            name="dcterms.service"
+            content="ESDC-EDSC_SCLabs-LaboratoireSC"
+          />
+          <meta name="dcterms.issued" title="W3CDTF" content="2021-07-20" />
+ 
+          <meta name="dcterms.modified" title="W3CDTF" content="2021-12-16" />
+          <meta
+            name="dcterms.description"
+            content={
+              props.locale === "en"
+                ? pageData.scDescriptionEn.json[0].content[0].value
+                : pageData.scDescriptionFr.json[0].content[0].value
+            }
+          />
+          <meta
+            name="dcterms.subject"
+            title="gccore"
+            content={pageData.scSubject}
+          />
+          <meta name="dcterms.spatial" content="Canada" />
+ 
+          {/* Open Graph / Facebook */}
+          <meta property="og:type" content="website" />
+          <meta property="og:locale" content={props.locale} />
+          <meta
+            property="og:url"
+            content={
+              "https://alpha.service.canada.ca" +
+              `${
+                props.locale === "en"
+                  ? pageData.scPageNameEn
+                  : pageData.scPageNameFr
+              }`
+            }
+          />
+          <meta
+            property="og:title"
+            content={
+              props.locale === "en" ? pageData.scTitleEn : pageData.scTitleFr
+            }
+          />
+          <meta
+            property="og:description"
+            content={
+              props.locale === "en"
+                ? pageData.scFragments[0].scContentEn.json[0].content[0].value
+                : pageData.scFragments[0].scContentFr.json[0].content[0].value
+            }
+          />
+          <meta
+            property="og:image"
+            content={pageData.scSocialMediaImageEn._publishUrl}
+          />
+          <meta
+            property="og:image:alt"
+            content={
+              props.locale === "en" ? pageData.scTitleEn : pageData.scTitleFr
+            }
+          />
+ 
+          {/* Twitter */}
+          <meta property="twitter:card" content="summary_large_image" />
+          <meta
+            property="twitter:url"
+            content={
+              "https://alpha.service.canada.ca" +
+              `${
+                props.locale === "en"
+                  ? pageData.scPageNameEn
+                  : pageData.scPageNameFr
+              }`
+            }
+          />
+          <meta
+            property="twitter:title"
+            content={
+              props.locale === "en" ? pageData.scTitleEn : pageData.scTitleFr
+            }
+          />
+          <meta name="twitter:creator" content="Service Canada" />
+          <meta
+            property="twitter:description"
+            content={
+              props.locale === "en"
+                ? pageData.scFragments[0].scContentEn.json[1].content[0].value
+                : pageData.scFragments[0].scContentFr.json[1].content[0].value
+            }
+          />
+          <meta
+            property="twitter:image"
+            content={pageData.scSocialMediaImageEn._publishUrl}
+          />
+          <meta
+            property="twitter:image:alt"
+            content={
+              props.locale === "en" ? pageData.scTitleEn : pageData.scTitleFr
+            }
+          />
+        </Head>
+ 
+        <div className="layout-container">
+          <section aria-labelledby="pageMainTitle">
+            <div className="flex flex-col break-words lg:grid lg:grid-cols-2">
+              <div className="col-span-2">
+                <Heading
+                  tabIndex="-1"
+                  id="pageMainTitle"
+                  title={
+                    props.locale === "en"
+                      ? pageData.scTitleEn
+                      : pageData.scTitleFr
+                  }
+                />
+              </div>
+              <div className="hidden lg:grid row-span-2 row-start-2 col-start-2 p-0 mx-4">
+                <div className="flex justify-center">
+                  <div className="object-fill h-auto w-auto max-w-450px">
+                    <Image
+                      src={
+                        props.locale === "en"
+                          ? pageData.scFragments[2].scImageEn._publishUrl
+                          : pageData.scFragments[2].scImageFr._publishUrl
+                      }
+                      alt={
+                        (props.locale === "en"
+                          ? pageData.scFragments[2].scImageAltTextEn
+                          : pageData.scFragments[2].scImageAltTextFr) ?? ""
+                      }
+                      height={pageData.scFragments[2].scImageEn.height}
+                      width={pageData.scFragments[2].scImageEn.width}
+                      priority
+                      sizes="33vw"
+                      quality={100}
+                    />
+                  </div>
+                </div>
+              </div>
+              <p className="row-start-2 font-body text-lg mb-4">
+                {props.locale === "en"
+                  ? pageData.scFragments[0].scContentEn.json[1].content[0].value
+                  : pageData.scFragments[0].scContentFr.json[1].content[0]
+                      .value}
+              </p>
+              <div className="row-start-3">
+                <ProjectInfo
+                  locale={props.locale}
+                  termStarted={
+                    props.locale === "en"
+                      ? filteredDictionary[2].scTermEn
+                      : filteredDictionary[2].scTermFr
+                  }
+                  termStage={
+                    props.locale === "en"
+                      ? filteredDictionary[1].scTermEn
+                      : filteredDictionary[1].scTermFr
+                  }
+                  termSummary={
+                    props.locale === "en"
+                      ? filteredDictionary[3].scTermEn
+                      : filteredDictionary[3].scTermFr
+                  }
+                  dateStarted={
+                    pageData.scFragments[0].scContentEn.json[2].content[0].value
+                  }
+                  term={
+                    props.locale === "en"
+                      ? pageData.scFragments[1].scContentEn.json[0].content[0]
+                          .value
+                      : pageData.scFragments[1].scContentFr.json[0].content[0]
+                          .value
+                  }
+                  definition={
+                    props.locale === "en"
+                      ? pageData.scFragments[1].scContentEn.json[0].content[1]
+                          .value
+                      : pageData.scFragments[1].scContentFr.json[0].content[1]
+                          .value
+                  }
+                  information={
+                    props.locale === "en"
+                      ? pageData.scFragments[2].scTitleEn
+                      : pageData.scFragments[2].scTitleFr
+                  }
+                  stage={
+                    props.locale === "en"
+                      ? stageDictionary.en[pageData.scLabProjectStage]
+                      : stageDictionary.fr[pageData.scLabProjectStage]
+                  }
+                  summary={
+                    props.locale === "en"
+                      ? pageData.scFragments[0].scContentEn.json[4].content[0]
+                          .value
+                      : pageData.scFragments[0].scContentFr.json[4].content[0]
+                          .value
+                  }
+                />
+              </div>
+            </div>
+          </section>
+          <div id="pageMainContent" className="grid grid-cols-12">
+            <div className="col-span-12 lg:col-span-7 mt-[48px]">
+              <TextRender
+                data={
+                  props.locale === "en"
+                    ? pageData.scFragments[0].scContentEn.json.slice(5)
+                    : pageData.scFragments[0].scContentFr.json.slice(5)
+                }
+                excludeH1={true}
+              />
+            </div>
+          </div>
+          {updatesData.length === 0 ? null : (
+            <section id="projectUpdates">
+              <h2>
+                {props.locale === "en"
+                  ? "Project updates"
+                  : "Mises à jour du projet"}
+              </h2>
+              <ul className="grid lg:grid-cols-12 gap-x-4 lg:gap-y-12 list-none ml-0 mb-12">
+                {displayProjectUpdates}
+              </ul>
+            </section>
+          )}
+        </div>
+      </Layout>
+    </>
+  );
+}
+ 
+export const getStaticProps = async ({ locale }) => {
+  // get page data from AEM
+  const { data: pageData } = await aemServiceInstance.getFragment(
+    "integratedChannelStrategyQuery"
+  );
+  // get dictionary
+  const { data: dictionary } = await aemServiceInstance.getFragment(
+    "dictionaryQuery"
+  );
+ 
+  return {
+    props: {
+      locale: locale,
+      adobeAnalyticsUrl: process.env.ADOBE_ANALYTICS_URL ?? null,
+      pageData: pageData.sclabsPageV1ByPath,
+      updatesData: pageData.sclabsPageV1ByPath.item.scLabProjectUpdates,
+      dictionary: dictionary.dictionaryV1List,
+      ...(await serverSideTranslations(locale, ["common"])),
+    },
+    revalidate: process.env.ISR_ENABLED === "true" ? 10 : false,
+  };
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/pages/projects/oas-benefits-estimator/[id].js.html b/main/coverage/lcov-report/pages/projects/oas-benefits-estimator/[id].js.html new file mode 100644 index 0000000000..7f4c4d1465 --- /dev/null +++ b/main/coverage/lcov-report/pages/projects/oas-benefits-estimator/[id].js.html @@ -0,0 +1,499 @@ + + + + + + Code coverage report for pages/projects/oas-benefits-estimator/[id].js + + + + + + + + + +
+
+

All files / pages/projects/oas-benefits-estimator [id].js

+
+ +
+ 0% + Statements + 0/34 +
+ + +
+ 0% + Branches + 0/24 +
+ + +
+ 0% + Functions + 0/6 +
+ + +
+ 0% + Lines + 0/32 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { serverSideTranslations } from "next-i18next/serverSideTranslations";
+import { useTranslation } from "next-i18next";
+import PageHead from "../../../components/fragment_renderer/PageHead";
+import { Layout } from "../../../components/organisms/Layout";
+import { useEffect, useState } from "react";
+import aemServiceInstance from "../../../services/aemServiceInstance";
+import { getAllUpdateIds } from "../../../lib/utils/getAllUpdateIds";
+import { createBreadcrumbs } from "../../../lib/utils/createBreadcrumbs";
+import FragmentRender from "../../../components/fragment_renderer/FragmentRender";
+import { Heading } from "../../../components/molecules/Heading";
+ 
+export default function OASBenefitsEstimatorArticles(props) {
+  const { t } = useTranslation("common");
+  const [pageData] = useState(props.pageData);
+  const [dictionary] = useState(props.dictionary.items);
+ 
+  useEffect(() => {
+    Iif (props.adobeAnalyticsUrl) {
+      window.adobeDataLayer = window.adobeDataLayer || [];
+      window.adobeDataLayer.push({ event: "pageLoad" });
+    }
+  }, []);
+ 
+  return (
+    <>
+      <Layout
+        locale={props.locale}
+        langUrl={
+          props.locale === "en" ? pageData.scPageNameFr : pageData.scPageNameEn
+        }
+        dateModifiedOverride={pageData.scDateModifiedOverwrite}
+        breadcrumbItems={createBreadcrumbs(
+          pageData.scBreadcrumbParentPages,
+          props.locale
+        )}
+      >
+        <PageHead pageData={pageData} locale={props.locale} />
+        <section className="mb-12">
+          <div className="layout-container">
+            <Heading
+              tabIndex="-1"
+              id="pageMainTitle"
+              title={
+                props.locale === "en" ? pageData.scTitleEn : pageData.scTitleFr
+              }
+            />
+            <div id="postedOnUpdatedOnSection" className="grid grid-cols-12">
+              <p
+                className={`col-span-6 sm:col-span-4 ${
+                  props.locale === "en" ? "lg:col-span-2" : "lg:col-span-3"
+                } font-bold`}
+              >
+                {props.locale === "en"
+                  ? dictionary[13].scTermEn
+                  : dictionary[13].scTermFr}
+              </p>
+              <p className="col-span-6 col-start-7 sm:col-start-5 lg:col-span-2 md:col-start-5 mt-0">
+                {pageData.scDateModifiedOverwrite}
+              </p>
+              <p
+                className={`row-start-2 col-span-6 sm:col-span-4 mt-0 ${
+                  props.locale === "en" ? "lg:col-span-2" : "lg:col-span-3"
+                } font-bold`}
+              >
+                {props.locale === "en"
+                  ? dictionary[8].scTermEn
+                  : dictionary[8].scTermFr}
+              </p>
+              <p className="row-start-2 col-span-6 col-start-7 sm:col-start-5 lg:col-span-2 md:col-start-5 mt-auto">
+                {pageData.scDateModifiedOverwrite}
+              </p>
+            </div>
+          </div>
+ 
+          {/* Main */}
+          <div id="mainContentSection">
+            <FragmentRender
+              fragments={props.pageData.scFragments}
+              locale={props.locale}
+            />
+          </div>
+        </section>
+      </Layout>
+    </>
+  );
+}
+ 
+export async function getStaticPaths() {
+  // Get pages data
+  const { data } = await aemServiceInstance.getFragment(
+    "oasBenefitsEstimatorArticlesQuery"
+  );
+  // Get paths for dynamic routes from the page name data
+  const paths = getAllUpdateIds(data.sclabsPageV1List.items);
+  // Remove characters preceding the page name itself i.e. change "/en/projects/oas-benefits-estimator/what-we-learned" to "what-we-learned"
+  paths.map((path) => (path.params.id = path.params.id.split("/").at(-1)));
+  return {
+    paths,
+    fallback: "blocking",
+  };
+}
+ 
+export const getStaticProps = async ({ locale, params }) => {
+  // Get pages data
+  const { data } = await aemServiceInstance.getFragment(
+    "oasBenefitsEstimatorArticlesQuery"
+  );
+  // get dictionary
+  const { data: dictionary } = await aemServiceInstance.getFragment(
+    "dictionaryQuery"
+  );
+  const pages = data.sclabsPageV1List.items;
+  // Return page data that matches the current page being built
+  const pageData = pages.filter((page) => {
+    return (
+      (locale === "en" ? page.scPageNameEn : page.scPageNameFr)
+        .split("/")
+        .at(-1) === params.id
+    );
+  });
+ 
+  Iif (!pageData || !pageData.length) {
+    return {
+      notFound: true,
+    };
+  }
+ 
+  return {
+    props: {
+      locale: locale,
+      pageData: pageData[0],
+      dictionary: dictionary.dictionaryV1List,
+      adobeAnalyticsUrl: process.env.ADOBE_ANALYTICS_URL ?? null,
+      ...(await serverSideTranslations(locale, ["common"])),
+    },
+    revalidate: process.env.ISR_ENABLED === "true" ? 10 : false,
+  };
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/pages/projects/oas-benefits-estimator/index.html b/main/coverage/lcov-report/pages/projects/oas-benefits-estimator/index.html new file mode 100644 index 0000000000..ee8a34d1cc --- /dev/null +++ b/main/coverage/lcov-report/pages/projects/oas-benefits-estimator/index.html @@ -0,0 +1,131 @@ + + + + + + Code coverage report for pages/projects/oas-benefits-estimator + + + + + + + + + +
+
+

All files pages/projects/oas-benefits-estimator

+
+ +
+ 36.5% + Statements + 23/63 +
+ + +
+ 39.23% + Branches + 51/130 +
+ + +
+ 36.36% + Functions + 4/11 +
+ + +
+ 38.33% + Lines + 23/60 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
[id].js +
+
0%0/340%0/240%0/60%0/32
index.js +
+
79.31%23/2948.11%51/10680%4/582.14%23/28
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/pages/projects/oas-benefits-estimator/index.js.html b/main/coverage/lcov-report/pages/projects/oas-benefits-estimator/index.js.html new file mode 100644 index 0000000000..b2a947e7e3 --- /dev/null +++ b/main/coverage/lcov-report/pages/projects/oas-benefits-estimator/index.js.html @@ -0,0 +1,1399 @@ + + + + + + Code coverage report for pages/projects/oas-benefits-estimator/index.js + + + + + + + + + +
+
+

All files / pages/projects/oas-benefits-estimator index.js

+
+ +
+ 79.31% + Statements + 23/29 +
+ + +
+ 48.11% + Branches + 51/106 +
+ + +
+ 80% + Functions + 4/5 +
+ + +
+ 82.14% + Lines + 23/28 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 +421 +422 +423 +424 +425 +426 +427 +428 +429 +430 +431 +432 +433 +434 +435 +436 +437 +438 +4391x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +  +1x +2x +1x +1x +  +  +21x +  +  +  +  +  +  +1x +2x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import Head from "next/head";
+import { serverSideTranslations } from "next-i18next/serverSideTranslations";
+import { Layout } from "../../../components/organisms/Layout";
+import { ActionButton } from "../../../components//atoms/ActionButton";
+import { useEffect, useState } from "react";
+import aemServiceInstance from "../../../services/aemServiceInstance";
+import { ProjectInfo } from "../../../components/atoms/ProjectInfo";
+import Card from "../../../components/molecules/Card";
+import { createBreadcrumbs } from "../../../lib/utils/createBreadcrumbs";
+import { Heading } from "../../../components/molecules/Heading";
+import Image from "next/image";
+import stageDictionary from "../../../lib/utils/stageDictionary";
+import { sortUpdatesByDate } from "../../../lib/utils/sortUpdatesByDate";
+ 
+export default function OasBenefitsEstimator(props) {
+  const [pageData] = useState(props.pageData.item);
+  const updatesData = sortUpdatesByDate(props.updatesData);
+  const [filteredDictionary] = useState(
+    props.dictionary.items.filter(
+      (item) =>
+        item.scId === "STARTED" ||
+        item.scId === "ENDED" ||
+        item.scId === "PROJECT-STAGE" ||
+        item.scId === "SUMMARY"
+    )
+  );
+ 
+  const displayProjectUpdates = updatesData.map((update) => (
+    <li key={update.scId} className="list-none ml-0 col-span-12 lg:col-span-4">
+      <Card
+        showImage
+        imgSrc={
+          props.locale === "en"
+            ? `https://www.canada.ca${update.scSocialMediaImageEn._path}`
+            : `https://www.canada.ca${update.scSocialMediaImageFr._path}`
+        }
+        imgAlt={
+          (props.locale === "en"
+            ? update.scSocialMediaImageAltTextEn
+            : update.scSocialMediaImageAltTextFr) ?? ""
+        }
+        imgHeight={update.scSocialMediaImageEn.height}
+        imgWidth={update.scSocialMediaImageEn.width}
+        title={props.locale === "en" ? update.scTitleEn : update.scTitleFr}
+        href={props.locale === "en" ? update.scPageNameEn : update.scPageNameFr}
+        description={`${
+          props.locale === "en"
+            ? props.dictionary.items[13].scTermEn
+            : props.dictionary.items[13].scTermFr
+        } ${update.scDateModifiedOverwrite}`}
+      />
+    </li>
+  ));
+ 
+  useEffect(() => {
+    Iif (props.adobeAnalyticsUrl) {
+      window.adobeDataLayer = window.adobeDataLayer || [];
+      window.adobeDataLayer.push({ event: "pageLoad" });
+    }
+  }, []);
+ 
+  return (
+    <>
+      <Layout
+        locale={props.locale}
+        langUrl={
+          props.locale === "en" ? pageData.scPageNameFr : pageData.scPageNameEn
+        }
+        dateModifiedOverride={pageData.scDateModifiedOverwrite}
+        breadcrumbItems={createBreadcrumbs(
+          pageData.scBreadcrumbParentPages,
+          props.locale
+        )}
+      >
+        <Head>
+          {/* Primary HTML Meta Tags */}
+          <title>
+            {props.locale === "en"
+              ? `${pageData.scTitleEn} - Service Canada Labs`
+              : `${pageData.scTitleFr} - Laboratoires de Service Canada`}
+          </title>
+          <meta
+            name="description"
+            content={
+              props.locale === "en"
+                ? pageData.scDescriptionEn.json[0].content[0].value
+                : pageData.scDescriptionFr.json[0].content[0].value
+            }
+          />
+          <meta name="author" content="Service Canada" />
+          <link rel="icon" href="/favicon.ico" />
+          <link
+            rel="canonical"
+            href={
+              "https://alpha.service.canada.ca" +
+              `${
+                props.locale === "en"
+                  ? pageData.scPageNameEn
+                  : pageData.scPageNameFr
+              }`
+            }
+          />
+          <link rel="schema.dcterms" href="http://purl.org/dc/terms/" />
+          <meta
+            name="keywords"
+            content={
+              props.locale === "en"
+                ? pageData.scKeywordsEn
+                : pageData.scKeywordsFr
+            }
+          />
+ 
+          {/* DCMI Meta Tags */}
+          <meta
+            name="dcterms.title"
+            content={
+              props.locale === "en" ? pageData.scTitleEn : pageData.scTitleFr
+            }
+          />
+          <meta
+            name="dcterms.language"
+            content={props.locale === "en" ? "eng" : "fra"}
+            title="ISO639-2/T"
+          />
+          <meta
+            name="dcterms.creator"
+            content={
+              props.locale === "en"
+                ? "Employment and Social Development Canada"
+                : "Emploi et Développement social Canada"
+            }
+          />
+          <meta name="dcterms.accessRights" content="2" />
+          <meta
+            name="dcterms.service"
+            content="ESDC-EDSC_SCLabs-LaboratoireSC"
+          />
+          <meta name="dcterms.issued" title="W3CDTF" content="2021-07-20" />
+ 
+          <meta name="dcterms.modified" title="W3CDTF" content="2021-12-16" />
+          <meta
+            name="dcterms.description"
+            content={
+              props.locale === "en"
+                ? pageData.scDescriptionEn.json[0].content[0].value
+                : pageData.scDescriptionFr.json[0].content[0].value
+            }
+          />
+          <meta
+            name="dcterms.subject"
+            title="gccore"
+            content={pageData.scSubject}
+          />
+          <meta name="dcterms.spatial" content="Canada" />
+ 
+          {/* Open Graph / Facebook */}
+          <meta property="og:type" content="website" />
+          <meta property="og:locale" content={props.locale} />
+          <meta
+            property="og:url"
+            content={
+              "https://alpha.service.canada.ca" +
+              `${
+                props.locale === "en"
+                  ? pageData.scPageNameEn
+                  : pageData.scPageNameFr
+              }`
+            }
+          />
+          <meta
+            property="og:title"
+            content={
+              props.locale === "en" ? pageData.scTitleEn : pageData.scTitleFr
+            }
+          />
+          <meta
+            property="og:description"
+            content={
+              props.locale === "en"
+                ? pageData.scFragments[0].scContentEn.json[0].content[0].value
+                : pageData.scFragments[0].scContentFr.json[0].content[0].value
+            }
+          />
+          <meta
+            property="og:image"
+            content={pageData.scSocialMediaImageEn._publishUrl}
+          />
+          <meta
+            property="og:image:alt"
+            content={
+              props.locale === "en" ? pageData.scTitleEn : pageData.scTitleFr
+            }
+          />
+ 
+          {/* Twitter */}
+          <meta property="twitter:card" content="summary_large_image" />
+          <meta
+            property="twitter:url"
+            content={
+              "https://alpha.service.canada.ca" +
+              `${
+                props.locale === "en"
+                  ? pageData.scPageNameEn
+                  : pageData.scPageNameFr
+              }`
+            }
+          />
+          <meta
+            property="twitter:title"
+            content={
+              props.locale === "en" ? pageData.scTitleEn : pageData.scTitleFr
+            }
+          />
+          <meta name="twitter:creator" content="Service Canada" />
+          <meta
+            property="twitter:description"
+            content={
+              props.locale === "en"
+                ? pageData.scFragments[0].scContentEn.json[1].content[0].value
+                : pageData.scFragments[0].scContentFr.json[1].content[0].value
+            }
+          />
+          <meta
+            property="twitter:image"
+            content={pageData.scSocialMediaImageEn._publishUrl}
+          />
+          <meta
+            property="twitter:image:alt"
+            content={
+              props.locale === "en" ? pageData.scTitleEn : pageData.scTitleFr
+            }
+          />
+        </Head>
+ 
+        <div className="layout-container">
+          <section aria-labelledby="pageMainTitle">
+            <div className="flex flex-col break-words lg:grid lg:grid-cols-2">
+              <div className="col-span-2">
+                <Heading
+                  tabIndex="-1"
+                  id="pageMainTitle"
+                  title={
+                    props.locale === "en"
+                      ? pageData.scTitleEn
+                      : pageData.scTitleFr
+                  }
+                />
+              </div>
+              <div className="hidden lg:grid row-span-2 row-start-2 col-start-2 p-0 mx-4">
+                <div className="flex justify-center">
+                  <div className="object-fill h-auto w-auto max-w-450px">
+                    <Image
+                      src={
+                        props.locale === "en"
+                          ? pageData.scFragments[1].scImageEn._publishUrl
+                          : pageData.scFragments[1].scImageFr._publishUrl
+                      }
+                      alt={
+                        (props.locale === "en"
+                          ? pageData.scFragments[1].scImageAltTextEn
+                          : pageData.scFragments[1].scImageAltTextFr) ?? ""
+                      }
+                      height={pageData.scFragments[1].scImageEn.height}
+                      width={pageData.scFragments[1].scImageEn.width}
+                      priority
+                      sizes="33vw"
+                      quality={100}
+                    />
+                  </div>
+                </div>
+              </div>
+              <p className="row-start-2 font-body text-lg mb-4">
+                {props.locale === "en"
+                  ? pageData.scFragments[0].scContentEn.json[1].content[0].value
+                  : pageData.scFragments[0].scContentFr.json[1].content[0]
+                      .value}
+              </p>
+              <div className="row-start-3">
+                <ProjectInfo
+                  locale={props.locale}
+                  termStarted={
+                    props.locale === "en"
+                      ? filteredDictionary[2].scTermEn
+                      : filteredDictionary[2].scTermFr
+                  }
+                  termStage={
+                    props.locale === "en"
+                      ? filteredDictionary[1].scTermEn
+                      : filteredDictionary[1].scTermFr
+                  }
+                  termSummary={
+                    props.locale === "en"
+                      ? filteredDictionary[3].scTermEn
+                      : filteredDictionary[3].scTermFr
+                  }
+                  dateStarted={
+                    pageData.scFragments[0].scContentEn.json[2].content[0].value
+                  }
+                  term={
+                    props.locale === "en"
+                      ? pageData.scFragments[2].scContentEn.json[0].content[0]
+                          .value
+                      : pageData.scFragments[2].scContentFr.json[0].content[0]
+                          .value
+                  }
+                  definition={
+                    props.locale === "en"
+                      ? pageData.scFragments[2].scContentEn.json[0].content[1]
+                          .value
+                      : pageData.scFragments[2].scContentFr.json[0].content[1]
+                          .value
+                  }
+                  information={
+                    props.locale === "en"
+                      ? pageData.scFragments[2].scTitleEn
+                      : pageData.scFragments[2].scTitleFr
+                  }
+                  stage={
+                    props.locale === "en"
+                      ? stageDictionary.en[pageData.scLabProjectStage]
+                      : stageDictionary.fr[pageData.scLabProjectStage]
+                  }
+                  summary={
+                    props.locale === "en"
+                      ? pageData.scFragments[0].scContentEn.json[4].content[0]
+                          .value
+                      : pageData.scFragments[0].scContentFr.json[4].content[0]
+                          .value
+                  }
+                />
+              </div>
+            </div>
+          </section>
+          <div className="grid grid-cols-12">
+            <h2 className="col-span-12 text-[20px]">
+              {props.locale === "en"
+                ? pageData.scFragments[0].scContentEn.json[5].content[0].value
+                : pageData.scFragments[0].scContentFr.json[5].content[0].value}
+            </h2>
+            <ActionButton
+              id="try-btn"
+              style="primary"
+              custom="col-span-12"
+              href={
+                props.locale === "en"
+                  ? pageData.scFragments[4].scDestinationURLEn
+                  : pageData.scFragments[4].scDestinationURLFr
+              }
+              text={
+                props.locale === "en"
+                  ? pageData.scFragments[4].scTitleEn
+                  : pageData.scFragments[4].scTitleFr
+              }
+              ariaExpanded={props.ariaExpanded}
+            />
+            <h2 className="col-span-12">
+              {props.locale === "en"
+                ? pageData.scFragments[0].scContentEn.json[6].content[0].value
+                : pageData.scFragments[0].scContentFr.json[6].content[0].value}
+            </h2>
+            <p className="col-span-12 xl:col-span-8">
+              {props.locale === "en"
+                ? pageData.scFragments[0].scContentEn.json[7].content[0].value
+                : pageData.scFragments[0].scContentFr.json[7].content[0].value}
+            </p>
+            <p className="col-span-12 xl:col-span-8">
+              {props.locale === "en"
+                ? pageData.scFragments[0].scContentEn.json[8].content[0].value
+                : pageData.scFragments[0].scContentFr.json[8].content[0].value}
+            </p>
+            <p className="col-span-12 xl:col-span-8">
+              {props.locale === "en"
+                ? pageData.scFragments[0].scContentEn.json[9].content[0].value
+                : pageData.scFragments[0].scContentFr.json[9].content[0].value}
+            </p>
+          </div>
+          <h2 className="text-[20px]">
+            {props.locale === "en"
+              ? pageData.scFragments[0].scContentEn.json[10].content[0].value
+              : pageData.scFragments[0].scContentFr.json[10].content[0].value}
+          </h2>
+          <div className="grid md:flex">
+            <ActionButton
+              id="feedback-btn-2"
+              style="secondary"
+              href={
+                props.locale === "en"
+                  ? pageData.scFragments[5].scDestinationURLEn
+                  : pageData.scFragments[5].scDestinationURLFr
+              }
+              text={
+                props.locale === "en"
+                  ? pageData.scFragments[5].scTitleEn
+                  : pageData.scFragments[5].scTitleFr
+              }
+              ariaExpanded={props.ariaExpanded}
+            />
+          </div>
+          {updatesData.length === 0 ? null : (
+            <section id="projectUpdates">
+              <h2>
+                {props.locale === "en"
+                  ? "Project updates"
+                  : "Mises à jour du projet"}
+              </h2>
+              <ul className="grid lg:grid-cols-12 gap-x-4 lg:gap-y-12 list-none ml-0 mb-12">
+                {displayProjectUpdates}
+              </ul>
+            </section>
+          )}
+        </div>
+      </Layout>
+    </>
+  );
+}
+ 
+export const getStaticProps = async ({ locale }) => {
+  // get page data from AEM
+  const { data: pageData } = await aemServiceInstance.getFragment(
+    "oasBenefitsEstimatorQuery"
+  );
+  // get dictionary
+  const { data: dictionary } = await aemServiceInstance.getFragment(
+    "dictionaryQuery"
+  );
+ 
+  return {
+    props: {
+      locale: locale,
+      adobeAnalyticsUrl: process.env.ADOBE_ANALYTICS_URL ?? null,
+      pageData: pageData.sclabsPageV1ByPath,
+      updatesData: pageData.sclabsPageV1ByPath.item.scLabProjectUpdates,
+      dictionary: dictionary.dictionaryV1List,
+      ...(await serverSideTranslations(locale, ["common"])),
+    },
+    revalidate: process.env.ISR_ENABLED === "true" ? 10 : false,
+  };
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/main/coverage/lcov-report/prettify.css b/main/coverage/lcov-report/prettify.css new file mode 100644 index 0000000000..b317a7cda3 --- /dev/null +++ b/main/coverage/lcov-report/prettify.css @@ -0,0 +1 @@ +.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee} diff --git a/main/coverage/lcov-report/prettify.js b/main/coverage/lcov-report/prettify.js new file mode 100644 index 0000000000..b3225238f2 --- /dev/null +++ b/main/coverage/lcov-report/prettify.js @@ -0,0 +1,2 @@ +/* eslint-disable */ +window.PR_SHOULD_USE_CONTINUATION=true;(function(){var h=["break,continue,do,else,for,if,return,while"];var u=[h,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"];var p=[u,"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"];var l=[p,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"];var x=[p,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"];var R=[x,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"];var r="all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes";var w=[p,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"];var s="caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END";var I=[h,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"];var f=[h,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"];var H=[h,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"];var A=[l,R,w,s+I,f,H];var e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/;var C="str";var z="kwd";var j="com";var O="typ";var G="lit";var L="pun";var F="pln";var m="tag";var E="dec";var J="src";var P="atn";var n="atv";var N="nocode";var M="(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*";function k(Z){var ad=0;var S=false;var ac=false;for(var V=0,U=Z.length;V122)){if(!(al<65||ag>90)){af.push([Math.max(65,ag)|32,Math.min(al,90)|32])}if(!(al<97||ag>122)){af.push([Math.max(97,ag)&~32,Math.min(al,122)&~32])}}}}af.sort(function(av,au){return(av[0]-au[0])||(au[1]-av[1])});var ai=[];var ap=[NaN,NaN];for(var ar=0;arat[0]){if(at[1]+1>at[0]){an.push("-")}an.push(T(at[1]))}}an.push("]");return an.join("")}function W(al){var aj=al.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g"));var ah=aj.length;var an=[];for(var ak=0,am=0;ak=2&&ai==="["){aj[ak]=X(ag)}else{if(ai!=="\\"){aj[ak]=ag.replace(/[a-zA-Z]/g,function(ao){var ap=ao.charCodeAt(0);return"["+String.fromCharCode(ap&~32,ap|32)+"]"})}}}}return aj.join("")}var aa=[];for(var V=0,U=Z.length;V=0;){S[ac.charAt(ae)]=Y}}var af=Y[1];var aa=""+af;if(!ag.hasOwnProperty(aa)){ah.push(af);ag[aa]=null}}ah.push(/[\0-\uffff]/);V=k(ah)})();var X=T.length;var W=function(ah){var Z=ah.sourceCode,Y=ah.basePos;var ad=[Y,F];var af=0;var an=Z.match(V)||[];var aj={};for(var ae=0,aq=an.length;ae=5&&"lang-"===ap.substring(0,5);if(am&&!(ai&&typeof ai[1]==="string")){am=false;ap=J}if(!am){aj[ag]=ap}}var ab=af;af+=ag.length;if(!am){ad.push(Y+ab,ap)}else{var al=ai[1];var ak=ag.indexOf(al);var ac=ak+al.length;if(ai[2]){ac=ag.length-ai[2].length;ak=ac-al.length}var ar=ap.substring(5);B(Y+ab,ag.substring(0,ak),W,ad);B(Y+ab+ak,al,q(ar,al),ad);B(Y+ab+ac,ag.substring(ac),W,ad)}}ah.decorations=ad};return W}function i(T){var W=[],S=[];if(T.tripleQuotedStrings){W.push([C,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""])}else{if(T.multiLineStrings){W.push([C,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"])}else{W.push([C,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"])}}if(T.verbatimStrings){S.push([C,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null])}var Y=T.hashComments;if(Y){if(T.cStyleComments){if(Y>1){W.push([j,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"])}else{W.push([j,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"])}S.push([C,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,null])}else{W.push([j,/^#[^\r\n]*/,null,"#"])}}if(T.cStyleComments){S.push([j,/^\/\/[^\r\n]*/,null]);S.push([j,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}if(T.regexLiterals){var X=("/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/");S.push(["lang-regex",new RegExp("^"+M+"("+X+")")])}var V=T.types;if(V){S.push([O,V])}var U=(""+T.keywords).replace(/^ | $/g,"");if(U.length){S.push([z,new RegExp("^(?:"+U.replace(/[\s,]+/g,"|")+")\\b"),null])}W.push([F,/^\s+/,null," \r\n\t\xA0"]);S.push([G,/^@[a-z_$][a-z_$@0-9]*/i,null],[O,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[F,/^[a-z_$][a-z_$@0-9]*/i,null],[G,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[F,/^\\[\s\S]?/,null],[L,/^.[^\s\w\.$@\'\"\`\/\#\\]*/,null]);return g(W,S)}var K=i({keywords:A,hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true});function Q(V,ag){var U=/(?:^|\s)nocode(?:\s|$)/;var ab=/\r\n?|\n/;var ac=V.ownerDocument;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=ac.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Z=S&&"pre"===S.substring(0,3);var af=ac.createElement("LI");while(V.firstChild){af.appendChild(V.firstChild)}var W=[af];function ae(al){switch(al.nodeType){case 1:if(U.test(al.className)){break}if("BR"===al.nodeName){ad(al);if(al.parentNode){al.parentNode.removeChild(al)}}else{for(var an=al.firstChild;an;an=an.nextSibling){ae(an)}}break;case 3:case 4:if(Z){var am=al.nodeValue;var aj=am.match(ab);if(aj){var ai=am.substring(0,aj.index);al.nodeValue=ai;var ah=am.substring(aj.index+aj[0].length);if(ah){var ak=al.parentNode;ak.insertBefore(ac.createTextNode(ah),al.nextSibling)}ad(al);if(!ai){al.parentNode.removeChild(al)}}}break}}function ad(ak){while(!ak.nextSibling){ak=ak.parentNode;if(!ak){return}}function ai(al,ar){var aq=ar?al.cloneNode(false):al;var ao=al.parentNode;if(ao){var ap=ai(ao,1);var an=al.nextSibling;ap.appendChild(aq);for(var am=an;am;am=an){an=am.nextSibling;ap.appendChild(am)}}return aq}var ah=ai(ak.nextSibling,0);for(var aj;(aj=ah.parentNode)&&aj.nodeType===1;){ah=aj}W.push(ah)}for(var Y=0;Y=S){ah+=2}if(V>=ap){Z+=2}}}var t={};function c(U,V){for(var S=V.length;--S>=0;){var T=V[S];if(!t.hasOwnProperty(T)){t[T]=U}else{if(window.console){console.warn("cannot override language handler %s",T)}}}}function q(T,S){if(!(T&&t.hasOwnProperty(T))){T=/^\s*]*(?:>|$)/],[j,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[L,/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);c(g([[F,/^[\s]+/,null," \t\r\n"],[n,/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,"\"'"]],[[m,/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],[P,/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],[L,/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]);c(g([],[[n,/^[\s\S]+/]]),["uq.val"]);c(i({keywords:l,hashComments:true,cStyleComments:true,types:e}),["c","cc","cpp","cxx","cyc","m"]);c(i({keywords:"null,true,false"}),["json"]);c(i({keywords:R,hashComments:true,cStyleComments:true,verbatimStrings:true,types:e}),["cs"]);c(i({keywords:x,cStyleComments:true}),["java"]);c(i({keywords:H,hashComments:true,multiLineStrings:true}),["bsh","csh","sh"]);c(i({keywords:I,hashComments:true,multiLineStrings:true,tripleQuotedStrings:true}),["cv","py"]);c(i({keywords:s,hashComments:true,multiLineStrings:true,regexLiterals:true}),["perl","pl","pm"]);c(i({keywords:f,hashComments:true,multiLineStrings:true,regexLiterals:true}),["rb"]);c(i({keywords:w,cStyleComments:true,regexLiterals:true}),["js"]);c(i({keywords:r,hashComments:3,cStyleComments:true,multilineStrings:true,tripleQuotedStrings:true,regexLiterals:true}),["coffee"]);c(g([],[[C,/^[\s\S]+/]]),["regex"]);function d(V){var U=V.langExtension;try{var S=a(V.sourceNode);var T=S.sourceCode;V.sourceCode=T;V.spans=S.spans;V.basePos=0;q(U,T)(V);D(V)}catch(W){if("console" in window){console.log(W&&W.stack?W.stack:W)}}}function y(W,V,U){var S=document.createElement("PRE");S.innerHTML=W;if(U){Q(S,U)}var T={langExtension:V,numberLines:U,sourceNode:S};d(T);return S.innerHTML}function b(ad){function Y(af){return document.getElementsByTagName(af)}var ac=[Y("pre"),Y("code"),Y("xmp")];var T=[];for(var aa=0;aa=0){var ah=ai.match(ab);var am;if(!ah&&(am=o(aj))&&"CODE"===am.tagName){ah=am.className.match(ab)}if(ah){ah=ah[1]}var al=false;for(var ak=aj.parentNode;ak;ak=ak.parentNode){if((ak.tagName==="pre"||ak.tagName==="code"||ak.tagName==="xmp")&&ak.className&&ak.className.indexOf("prettyprint")>=0){al=true;break}}if(!al){var af=aj.className.match(/\blinenums\b(?::(\d+))?/);af=af?af[1]&&af[1].length?+af[1]:true:false;if(af){Q(aj,af)}S={langExtension:ah,sourceNode:aj,numberLines:af};d(S)}}}if(X]*(?:>|$)/],[PR.PR_COMMENT,/^<\!--[\s\S]*?(?:-\->|$)/],[PR.PR_PUNCTUATION,/^(?:<[%?]|[%?]>)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-handlebars",/^]*type\s*=\s*['"]?text\/x-handlebars-template['"]?\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i],[PR.PR_DECLARATION,/^{{[#^>/]?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{&?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{{>?\s*[\w.][^}]*}}}/],[PR.PR_COMMENT,/^{{![^}]*}}/]]),["handlebars","hbs"]);PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[ \t\r\n\f]+/,null," \t\r\n\f"]],[[PR.PR_STRING,/^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/,null],[PR.PR_STRING,/^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/,null],["lang-css-str",/^url\(([^\)\"\']*)\)/i],[PR.PR_KEYWORD,/^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],[PR.PR_COMMENT,/^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],[PR.PR_COMMENT,/^(?:)/],[PR.PR_LITERAL,/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],[PR.PR_LITERAL,/^#(?:[0-9a-f]{3}){1,2}/i],[PR.PR_PLAIN,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i],[PR.PR_PUNCTUATION,/^[^\s\w\'\"]+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_KEYWORD,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_STRING,/^[^\)\"\']+/]]),["css-str"]); diff --git a/main/coverage/lcov-report/sort-arrow-sprite.png b/main/coverage/lcov-report/sort-arrow-sprite.png new file mode 100644 index 0000000000..6ed68316eb Binary files /dev/null and b/main/coverage/lcov-report/sort-arrow-sprite.png differ diff --git a/main/coverage/lcov-report/sorter.js b/main/coverage/lcov-report/sorter.js new file mode 100644 index 0000000000..2bb296a8ca --- /dev/null +++ b/main/coverage/lcov-report/sorter.js @@ -0,0 +1,196 @@ +/* eslint-disable */ +var addSorting = (function() { + 'use strict'; + var cols, + currentSort = { + index: 0, + desc: false + }; + + // returns the summary table element + function getTable() { + return document.querySelector('.coverage-summary'); + } + // returns the thead element of the summary table + function getTableHeader() { + return getTable().querySelector('thead tr'); + } + // returns the tbody element of the summary table + function getTableBody() { + return getTable().querySelector('tbody'); + } + // returns the th element for nth column + function getNthColumn(n) { + return getTableHeader().querySelectorAll('th')[n]; + } + + function onFilterInput() { + const searchValue = document.getElementById('fileSearch').value; + const rows = document.getElementsByTagName('tbody')[0].children; + for (let i = 0; i < rows.length; i++) { + const row = rows[i]; + if ( + row.textContent + .toLowerCase() + .includes(searchValue.toLowerCase()) + ) { + row.style.display = ''; + } else { + row.style.display = 'none'; + } + } + } + + // loads the search box + function addSearchBox() { + var template = document.getElementById('filterTemplate'); + var templateClone = template.content.cloneNode(true); + templateClone.getElementById('fileSearch').oninput = onFilterInput; + template.parentElement.appendChild(templateClone); + } + + // loads all columns + function loadColumns() { + var colNodes = getTableHeader().querySelectorAll('th'), + colNode, + cols = [], + col, + i; + + for (i = 0; i < colNodes.length; i += 1) { + colNode = colNodes[i]; + col = { + key: colNode.getAttribute('data-col'), + sortable: !colNode.getAttribute('data-nosort'), + type: colNode.getAttribute('data-type') || 'string' + }; + cols.push(col); + if (col.sortable) { + col.defaultDescSort = col.type === 'number'; + colNode.innerHTML = + colNode.innerHTML + ''; + } + } + return cols; + } + // attaches a data attribute to every tr element with an object + // of data values keyed by column name + function loadRowData(tableRow) { + var tableCols = tableRow.querySelectorAll('td'), + colNode, + col, + data = {}, + i, + val; + for (i = 0; i < tableCols.length; i += 1) { + colNode = tableCols[i]; + col = cols[i]; + val = colNode.getAttribute('data-value'); + if (col.type === 'number') { + val = Number(val); + } + data[col.key] = val; + } + return data; + } + // loads all row data + function loadData() { + var rows = getTableBody().querySelectorAll('tr'), + i; + + for (i = 0; i < rows.length; i += 1) { + rows[i].data = loadRowData(rows[i]); + } + } + // sorts the table using the data for the ith column + function sortByIndex(index, desc) { + var key = cols[index].key, + sorter = function(a, b) { + a = a.data[key]; + b = b.data[key]; + return a < b ? -1 : a > b ? 1 : 0; + }, + finalSorter = sorter, + tableBody = document.querySelector('.coverage-summary tbody'), + rowNodes = tableBody.querySelectorAll('tr'), + rows = [], + i; + + if (desc) { + finalSorter = function(a, b) { + return -1 * sorter(a, b); + }; + } + + for (i = 0; i < rowNodes.length; i += 1) { + rows.push(rowNodes[i]); + tableBody.removeChild(rowNodes[i]); + } + + rows.sort(finalSorter); + + for (i = 0; i < rows.length; i += 1) { + tableBody.appendChild(rows[i]); + } + } + // removes sort indicators for current column being sorted + function removeSortIndicators() { + var col = getNthColumn(currentSort.index), + cls = col.className; + + cls = cls.replace(/ sorted$/, '').replace(/ sorted-desc$/, ''); + col.className = cls; + } + // adds sort indicators for current column being sorted + function addSortIndicators() { + getNthColumn(currentSort.index).className += currentSort.desc + ? ' sorted-desc' + : ' sorted'; + } + // adds event listeners for all sorter widgets + function enableUI() { + var i, + el, + ithSorter = function ithSorter(i) { + var col = cols[i]; + + return function() { + var desc = col.defaultDescSort; + + if (currentSort.index === i) { + desc = !currentSort.desc; + } + sortByIndex(i, desc); + removeSortIndicators(); + currentSort.index = i; + currentSort.desc = desc; + addSortIndicators(); + }; + }; + for (i = 0; i < cols.length; i += 1) { + if (cols[i].sortable) { + // add the click event handler on the th so users + // dont have to click on those tiny arrows + el = getNthColumn(i).querySelector('.sorter').parentElement; + if (el.addEventListener) { + el.addEventListener('click', ithSorter(i)); + } else { + el.attachEvent('onclick', ithSorter(i)); + } + } + } + } + // adds sorting functionality to the UI + return function() { + if (!getTable()) { + return; + } + cols = loadColumns(); + loadData(); + addSearchBox(); + addSortIndicators(); + enableUI(); + }; +})(); + +window.addEventListener('load', addSorting); diff --git a/main/coverage/lcov.info b/main/coverage/lcov.info new file mode 100644 index 0000000000..297c0fa24a --- /dev/null +++ b/main/coverage/lcov.info @@ -0,0 +1,4994 @@ +TN: +SF:components/index.js +FNF:0 +FNH:0 +DA:1,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/atoms/ActionButton.js +FN:8,ActionButton +FN:35,(anonymous_3) +FN:38,(anonymous_4) +FNF:3 +FNH:3 +FNDA:70,ActionButton +FNDA:68,(anonymous_3) +FNDA:1,(anonymous_4) +DA:1,22 +DA:2,22 +DA:3,22 +DA:8,75 +DA:11,70 +DA:13,70 +DA:15,70 +DA:17,70 +DA:19,70 +DA:22,70 +DA:35,68 +DA:36,68 +DA:37,68 +DA:38,63 +DA:39,1 +DA:40,1 +DA:41,1 +DA:114,22 +LF:18 +LH:18 +BRDA:22,0,0,10 +BRDA:22,0,1,58 +BRDA:24,1,0,5 +BRDA:24,1,1,53 +BRDA:26,2,0,1 +BRDA:26,2,1,52 +BRDA:28,3,0,1 +BRDA:28,3,1,51 +BRDA:30,4,0,2 +BRDA:30,4,1,49 +BRDA:37,5,0,63 +BRDA:39,6,0,1 +BRDA:39,7,0,1 +BRDA:39,7,1,0 +BRDA:48,8,0,25 +BRDA:50,9,0,6 +BRDA:50,9,1,19 +BRDA:55,10,0,25 +BRDA:55,10,1,17 +BRDA:62,11,0,0 +BRDA:62,11,1,25 +BRDA:62,12,0,25 +BRDA:62,12,1,3 +BRDA:67,13,0,3 +BRDA:67,13,1,22 +BRDA:67,14,0,25 +BRDA:67,14,1,3 +BRDA:76,15,0,0 +BRDA:76,15,1,43 +BRDA:77,16,0,12 +BRDA:77,16,1,31 +BRDA:83,17,0,43 +BRDA:83,17,1,15 +BRDA:86,18,0,13 +BRDA:86,18,1,30 +BRDA:88,19,0,0 +BRDA:88,19,1,43 +BRDA:88,20,0,43 +BRDA:88,20,1,0 +BRDA:91,21,0,6 +BRDA:91,21,1,37 +BRDA:91,22,0,43 +BRDA:91,22,1,6 +BRDA:104,23,0,0 +BRDA:104,23,1,43 +BRDA:104,24,0,43 +BRDA:104,24,1,0 +BRF:47 +BRH:40 +end_of_record +TN: +SF:components/atoms/ActionButton.stories.js +FNF:0 +FNH:0 +DA:1,1 +DA:3,1 +DA:10,5 +DA:11,3 +DA:12,3 +DA:13,3 +DA:14,5 +DA:16,1 +DA:22,1 +DA:29,1 +DA:36,1 +DA:43,1 +LF:12 +LH:12 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/atoms/Alert.js +FN:11,Alert +FNF:1 +FNH:1 +FNDA:2,Alert +DA:1,1 +DA:2,1 +DA:3,1 +DA:11,3 +DA:41,1 +LF:5 +LH:5 +BRDA:16,0,0,0 +BRDA:16,0,1,2 +BRDA:21,1,0,0 +BRF:3 +BRH:1 +end_of_record +TN: +SF:components/atoms/Alert.stories.js +FNF:0 +FNH:0 +DA:1,1 +DA:3,1 +DA:10,4 +DA:12,1 +LF:4 +LH:4 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/atoms/Banner.js +FN:8,(anonymous_4) +FNF:1 +FNH:1 +FNDA:4,(anonymous_4) +DA:1,9 +DA:2,9 +DA:8,9 +DA:28,9 +DA:40,9 +LF:5 +LH:5 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/atoms/Banner.stories.js +FNF:0 +FNH:0 +DA:1,1 +DA:2,1 +DA:4,1 +DA:11,4 +DA:13,1 +LF:5 +LH:5 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/atoms/Breadcrumb.js +FN:9,Breadcrumb +FN:23,(anonymous_3) +FNF:2 +FNH:2 +FNDA:16,Breadcrumb +FNDA:9,(anonymous_3) +DA:1,9 +DA:2,9 +DA:3,9 +DA:4,9 +DA:9,16 +DA:24,9 +DA:50,9 +LF:7 +LH:7 +BRDA:22,0,0,7 +BRDA:22,0,1,8 +BRF:2 +BRH:2 +end_of_record +TN: +SF:components/atoms/Breadcrumb.stories.js +FNF:0 +FNH:0 +DA:1,1 +DA:3,1 +DA:10,4 +DA:11,3 +DA:13,1 +LF:5 +LH:5 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/atoms/CheckBox.js +FN:6,CheckBox +FN:29,(anonymous_3) +FNF:2 +FNH:2 +FNDA:68,CheckBox +FNDA:6,(anonymous_3) +DA:1,4 +DA:6,72 +DA:12,68 +DA:30,6 +DA:59,4 +LF:5 +LH:5 +BRDA:7,0,0,64 +BRDA:8,1,0,8 +BRDA:9,2,0,68 +BRDA:12,3,0,12 +BRDA:12,3,1,56 +BRDA:20,4,0,50 +BRDA:20,4,1,18 +BRDA:31,5,0,4 +BRDA:31,5,1,2 +BRDA:37,6,0,0 +BRDA:37,6,1,68 +BRDA:44,7,0,0 +BRDA:44,7,1,68 +BRDA:45,8,0,0 +BRDA:45,8,1,68 +BRDA:48,9,0,0 +BRDA:48,9,1,68 +BRF:17 +BRH:13 +end_of_record +TN: +SF:components/atoms/CheckBox.stories.js +FNF:0 +FNH:0 +DA:1,1 +DA:2,1 +DA:4,1 +DA:20,7 +DA:21,1 +DA:29,6 +DA:30,1 +DA:39,1 +DA:40,1 +DA:49,1 +DA:50,1 +LF:11 +LH:11 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/atoms/DSButton.js +FN:6,DSButton +FNF:1 +FNH:1 +FNDA:10,DSButton +DA:1,12 +DA:2,12 +DA:6,11 +DA:15,10 +DA:17,10 +DA:19,10 +DA:21,10 +DA:23,10 +DA:25,10 +DA:100,12 +LF:10 +LH:10 +BRDA:7,0,0,4 +BRDA:8,1,0,0 +BRDA:9,2,0,0 +BRDA:10,3,0,8 +BRDA:26,4,0,6 +BRDA:26,4,1,4 +BRDA:28,5,0,1 +BRDA:28,5,1,3 +BRDA:30,6,0,1 +BRDA:30,6,1,2 +BRDA:32,7,0,1 +BRDA:32,7,1,1 +BRDA:34,8,0,1 +BRDA:34,8,1,0 +BRDA:39,9,0,8 +BRDA:48,10,0,0 +BRDA:48,10,1,8 +BRDA:48,11,0,8 +BRDA:48,11,1,0 +BRDA:55,12,0,0 +BRDA:55,12,1,8 +BRDA:61,13,0,0 +BRDA:61,13,1,8 +BRDA:61,14,0,8 +BRDA:61,14,1,0 +BRDA:71,15,0,2 +BRDA:71,15,1,0 +BRDA:78,16,0,0 +BRDA:78,16,1,2 +BRDA:78,17,0,2 +BRDA:78,17,1,0 +BRDA:87,18,0,0 +BRDA:87,18,1,2 +BRDA:87,19,0,2 +BRDA:87,19,1,0 +BRF:35 +BRH:22 +end_of_record +TN: +SF:components/atoms/DSButton.stories.js +FNF:0 +FNH:0 +DA:1,1 +DA:3,1 +DA:10,2 +DA:11,1 +DA:12,2 +DA:13,2 +DA:14,2 +DA:15,2 +DA:17,1 +DA:24,1 +DA:33,1 +DA:40,1 +DA:48,1 +DA:55,1 +LF:14 +LH:14 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/atoms/DateModified.js +FN:4,DateModified +FNF:1 +FNH:1 +FNDA:15,DateModified +DA:1,9 +DA:2,9 +DA:4,16 +DA:5,15 +DA:7,15 +DA:8,15 +DA:9,9 +DA:10,2 +DA:11,7 +DA:28,9 +LF:10 +LH:10 +BRDA:4,0,0,6 +BRDA:8,1,0,9 +BRDA:9,2,0,2 +BRDA:9,2,1,7 +BRDA:19,3,0,6 +BRF:5 +BRH:5 +end_of_record +TN: +SF:components/atoms/DateModified.stories.js +FNF:0 +FNH:0 +DA:1,1 +DA:3,1 +DA:10,5 +DA:12,1 +LF:4 +LH:4 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/atoms/ErrorLabel.js +FN:6,ErrorLabel +FNF:1 +FNH:1 +FNDA:5,ErrorLabel +DA:1,16 +DA:6,7 +DA:16,16 +LF:3 +LH:3 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/atoms/ErrorLabel.stories.js +FNF:0 +FNH:0 +DA:1,1 +DA:2,1 +DA:4,1 +DA:11,5 +DA:12,1 +LF:5 +LH:5 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/atoms/HTMList.js +FN:3,HTMList +FN:4,(anonymous_3) +FN:7,(anonymous_4) +FN:8,(anonymous_5) +FNF:4 +FNH:4 +FNDA:7,HTMList +FNDA:7,(anonymous_3) +FNDA:18,(anonymous_4) +FNDA:13,(anonymous_5) +DA:1,1 +DA:3,7 +DA:4,7 +DA:5,7 +DA:7,18 +DA:9,13 +DA:21,1 +LF:7 +LH:7 +BRDA:3,0,0,5 +BRDA:15,1,0,6 +BRF:2 +BRH:2 +end_of_record +TN: +SF:components/atoms/Image.js +FN:3,Image +FNF:1 +FNH:1 +FNDA:23,Image +DA:1,16 +DA:3,23 +DA:4,23 +DA:13,16 +LF:4 +LH:4 +BRDA:4,0,0,20 +BRDA:4,1,0,4 +BRF:2 +BRH:2 +end_of_record +TN: +SF:components/atoms/Image.stories.js +FNF:0 +FNH:0 +DA:1,1 +DA:3,1 +DA:7,1 +DA:8,1 +DA:12,1 +DA:13,1 +DA:14,1 +DA:15,1 +DA:17,1 +DA:23,1 +DA:30,1 +DA:36,1 +LF:12 +LH:12 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/atoms/Link.js +FN:6,Link +FN:42,onKeyDown +FNF:2 +FNH:1 +FNDA:348,Link +FNDA:0,onKeyDown +DA:2,13 +DA:6,349 +DA:8,348 +DA:9,348 +DA:11,1 +DA:13,1 +DA:15,1 +DA:17,1 +DA:19,66 +DA:21,66 +DA:23,273 +DA:25,273 +DA:27,1 +DA:29,1 +DA:31,1 +DA:33,1 +DA:35,5 +DA:37,5 +DA:40,348 +DA:43,0 +DA:99,13 +LF:21 +LH:20 +BRDA:6,0,0,322 +BRDA:6,1,0,3 +BRDA:9,2,0,1 +BRDA:9,2,1,1 +BRDA:9,2,2,66 +BRDA:9,2,3,273 +BRDA:9,2,4,1 +BRDA:9,2,5,1 +BRDA:9,2,6,5 +BRDA:40,3,0,348 +BRDA:40,3,1,348 +BRDA:47,4,0,0 +BRDA:52,5,0,0 +BRDA:52,5,1,0 +BRDA:58,6,0,0 +BRDA:58,6,1,0 +BRDA:65,7,0,0 +BRDA:65,7,1,0 +BRDA:82,8,0,348 +BRDA:82,8,1,348 +BRDA:84,9,0,0 +BRDA:84,9,1,348 +BRDA:88,10,0,0 +BRDA:88,10,1,348 +BRF:24 +BRH:15 +end_of_record +TN: +SF:components/atoms/Link.stories.js +FNF:0 +FNH:0 +DA:1,1 +DA:3,1 +DA:10,5 +DA:11,3 +DA:12,3 +DA:13,3 +DA:14,3 +DA:15,3 +DA:17,1 +DA:23,1 +DA:30,1 +DA:37,1 +DA:44,1 +DA:51,1 +LF:14 +LH:14 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/atoms/MultiTextField.js +FN:8,MultiTextField +FN:41,(anonymous_3) +FNF:2 +FNH:2 +FNDA:4,MultiTextField +FNDA:1,(anonymous_3) +DA:1,3 +DA:2,3 +DA:3,3 +DA:8,5 +DA:9,4 +DA:41,1 +DA:57,3 +LF:7 +LH:7 +BRDA:8,0,0,4 +BRDA:8,1,0,3 +BRDA:14,2,0,0 +BRDA:14,2,1,4 +BRDA:19,3,0,1 +BRDA:19,3,1,3 +BRDA:23,4,0,0 +BRDA:23,4,1,4 +BRDA:33,5,0,0 +BRDA:33,5,1,4 +BRDA:36,6,0,0 +BRDA:36,6,1,4 +BRF:12 +BRH:8 +end_of_record +TN: +SF:components/atoms/MultiTextField.stories.js +FNF:0 +FNH:0 +DA:1,1 +DA:2,1 +DA:4,1 +DA:20,4 +DA:21,1 +DA:29,1 +DA:30,1 +DA:39,1 +DA:40,1 +LF:9 +LH:9 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/atoms/ProjectInfo.js +FN:4,ProjectInfo +FNF:1 +FNH:1 +FNDA:8,ProjectInfo +DA:1,7 +DA:2,7 +DA:4,9 +DA:40,7 +LF:4 +LH:4 +BRDA:10,0,0,8 +BRDA:10,0,1,8 +BRDA:14,1,0,8 +BRDA:14,1,1,2 +BRF:4 +BRH:4 +end_of_record +TN: +SF:components/atoms/ProjectInfo.stories.js +FNF:0 +FNH:0 +DA:1,1 +DA:3,1 +DA:10,4 +DA:12,1 +LF:4 +LH:4 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/atoms/RadioButton.js +FN:6,RadioButton +FN:22,(anonymous_3) +FN:25,(anonymous_4) +FNF:3 +FNH:3 +FNDA:16,RadioButton +FNDA:3,(anonymous_3) +FNDA:1,(anonymous_4) +DA:1,2 +DA:6,17 +DA:7,16 +DA:23,3 +DA:26,1 +DA:27,1 +DA:28,1 +DA:29,0 +DA:31,1 +DA:51,2 +LF:10 +LH:9 +BRDA:6,0,0,6 +BRDA:7,1,0,15 +BRDA:7,1,1,1 +BRDA:12,2,0,1 +BRDA:12,2,1,1 +BRDA:26,3,0,1 +BRDA:28,4,0,0 +BRDA:41,5,0,4 +BRDA:41,5,1,12 +BRDA:42,6,0,4 +BRDA:42,6,1,12 +BRF:11 +BRH:10 +end_of_record +TN: +SF:components/atoms/RadioButton.stories.js +FNF:0 +FNH:0 +DA:1,1 +DA:2,1 +DA:4,1 +DA:11,12 +DA:12,1 +DA:20,2 +DA:21,1 +DA:30,3 +DA:31,1 +DA:40,3 +DA:41,1 +DA:50,3 +DA:51,1 +LF:13 +LH:13 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/atoms/RadioField.js +FN:6,RadioField +FN:24,(anonymous_3) +FN:42,(anonymous_4) +FNF:3 +FNH:2 +FNDA:8,RadioField +FNDA:1,(anonymous_3) +FNDA:0,(anonymous_4) +DA:1,4 +DA:6,10 +DA:7,8 +DA:25,1 +DA:42,0 +DA:50,4 +LF:6 +LH:5 +BRDA:6,0,0,4 +BRDA:6,1,0,2 +BRDA:7,2,0,8 +BRDA:7,2,1,0 +BRDA:15,3,0,0 +BRDA:15,3,1,8 +BRDA:26,4,0,0 +BRDA:26,4,1,1 +BRDA:32,5,0,0 +BRDA:32,5,1,8 +BRDA:39,6,0,0 +BRDA:39,6,1,8 +BRF:12 +BRH:7 +end_of_record +TN: +SF:components/atoms/RadioField.stories.js +FNF:0 +FNH:0 +DA:1,1 +DA:2,1 +DA:4,1 +DA:20,7 +DA:21,1 +DA:29,4 +DA:30,1 +DA:39,1 +DA:40,1 +LF:9 +LH:9 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/atoms/SearchBar.js +FN:6,SearchBar +FNF:1 +FNH:1 +FNDA:2,SearchBar +DA:1,1 +DA:6,3 +DA:33,1 +LF:3 +LH:3 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/atoms/SearchBar.stories.js +FNF:0 +FNH:0 +DA:1,1 +DA:3,1 +DA:10,4 +DA:12,1 +LF:4 +LH:4 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/atoms/SelectField.js +FN:5,SelectField +FN:15,(anonymous_3) +FN:49,(anonymous_4) +FN:60,(anonymous_5) +FNF:4 +FNH:3 +FNDA:2,SelectField +FNDA:6,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:8,(anonymous_5) +DA:1,1 +DA:2,1 +DA:3,1 +DA:5,4 +DA:6,2 +DA:8,2 +DA:14,2 +DA:15,2 +DA:16,6 +DA:17,6 +DA:49,0 +DA:61,8 +DA:84,1 +LF:13 +LH:12 +BRDA:5,0,0,2 +BRDA:8,1,0,0 +BRDA:8,1,1,2 +BRDA:14,2,0,2 +BRDA:24,3,0,0 +BRDA:24,3,1,2 +BRDA:29,4,0,0 +BRDA:29,4,1,2 +BRDA:33,5,0,0 +BRDA:33,5,1,2 +BRDA:40,6,0,0 +BRDA:40,6,1,2 +BRDA:43,7,0,0 +BRDA:43,7,1,2 +BRDA:48,8,0,0 +BRDA:48,8,1,2 +BRDA:67,9,0,0 +BRDA:67,9,1,2 +BRF:18 +BRH:10 +end_of_record +TN: +SF:components/atoms/SelectField.stories.js +FNF:0 +FNH:0 +DA:1,1 +DA:2,1 +DA:4,1 +DA:20,4 +DA:21,1 +LF:5 +LH:5 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/atoms/TableOfContents.js +FN:3,TableOfContents +FN:9,(anonymous_3) +FNF:2 +FNH:2 +FNDA:2,TableOfContents +FNDA:2,(anonymous_3) +DA:1,1 +DA:3,3 +DA:10,2 +DA:25,1 +LF:4 +LH:4 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/atoms/TableOfContents.stories.js +FNF:0 +FNH:0 +DA:1,1 +DA:3,1 +DA:10,4 +DA:12,1 +LF:4 +LH:4 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/atoms/TextField.js +FN:8,TextField +FN:61,(anonymous_3) +FNF:2 +FNH:2 +FNDA:6,TextField +FNDA:2,(anonymous_3) +DA:1,3 +DA:2,3 +DA:3,3 +DA:8,7 +DA:9,6 +DA:11,6 +DA:61,2 +DA:70,3 +LF:8 +LH:8 +BRDA:8,0,0,6 +BRDA:8,1,0,6 +BRDA:11,2,0,3 +BRDA:11,2,1,3 +BRDA:19,3,0,0 +BRDA:19,3,1,6 +BRDA:24,4,0,1 +BRDA:24,4,1,5 +BRDA:28,5,0,0 +BRDA:28,5,1,6 +BRDA:35,6,0,0 +BRDA:35,6,1,6 +BRDA:46,7,0,0 +BRDA:46,7,1,6 +BRDA:49,8,0,0 +BRDA:49,8,1,6 +BRDA:50,9,0,0 +BRDA:50,9,1,6 +BRDA:60,10,0,0 +BRDA:60,10,1,6 +BRF:20 +BRH:13 +end_of_record +TN: +SF:components/atoms/TextField.stories.js +FNF:0 +FNH:0 +DA:1,1 +DA:2,1 +DA:4,1 +DA:20,4 +DA:21,1 +DA:29,2 +DA:30,1 +DA:39,3 +DA:40,1 +LF:9 +LH:9 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/fragment_renderer/FragmentRender.js +FN:19,(anonymous_2) +FN:179,FragmentRender +FN:182,(anonymous_4) +FNF:3 +FNH:3 +FNDA:16,(anonymous_2) +FNDA:10,FragmentRender +FNDA:16,(anonymous_4) +DA:1,3 +DA:2,3 +DA:3,3 +DA:4,3 +DA:5,3 +DA:6,3 +DA:7,3 +DA:8,3 +DA:10,3 +DA:19,3 +DA:20,16 +DA:22,1 +DA:48,2 +DA:50,1 +DA:69,1 +DA:105,0 +DA:109,1 +DA:121,6 +DA:129,5 +DA:140,1 +DA:175,0 +DA:179,10 +DA:182,10 +DA:183,16 +DA:184,16 +DA:185,0 +DA:187,16 +DA:199,9 +LF:28 +LH:25 +BRDA:20,0,0,1 +BRDA:20,0,1,2 +BRDA:20,0,2,1 +BRDA:20,0,3,6 +BRDA:20,0,4,5 +BRDA:20,0,5,1 +BRDA:20,0,6,0 +BRDA:24,1,0,1 +BRDA:24,1,1,0 +BRDA:28,2,0,1 +BRDA:28,2,1,0 +BRDA:37,3,0,1 +BRDA:37,3,1,0 +BRDA:41,4,0,1 +BRDA:41,4,1,0 +BRDA:48,5,0,1 +BRDA:48,5,1,1 +BRDA:48,5,2,0 +BRDA:52,6,0,1 +BRDA:52,6,1,0 +BRDA:55,7,0,1 +BRDA:55,7,1,0 +BRDA:56,8,0,1 +BRDA:56,8,1,0 +BRDA:63,9,0,1 +BRDA:63,9,1,0 +BRDA:71,10,0,1 +BRDA:71,10,1,0 +BRDA:74,11,0,1 +BRDA:74,11,1,0 +BRDA:75,12,0,1 +BRDA:75,12,1,0 +BRDA:82,13,0,1 +BRDA:82,13,1,0 +BRDA:87,14,0,1 +BRDA:87,14,1,0 +BRDA:91,15,0,1 +BRDA:91,15,1,0 +BRDA:97,16,0,1 +BRDA:97,16,1,0 +BRDA:111,17,0,1 +BRDA:111,17,1,0 +BRDA:115,18,0,1 +BRDA:115,18,1,0 +BRDA:123,19,0,1 +BRDA:123,19,1,5 +BRDA:133,20,0,1 +BRDA:133,20,1,4 +BRDA:136,21,0,1 +BRDA:136,21,1,4 +BRDA:143,22,0,1 +BRDA:143,22,1,0 +BRDA:147,23,0,1 +BRDA:147,23,1,0 +BRDA:153,24,0,1 +BRDA:153,24,1,0 +BRDA:157,25,0,1 +BRDA:157,25,1,0 +BRDA:161,26,0,1 +BRDA:161,26,1,0 +BRDA:167,27,0,1 +BRDA:167,27,1,0 +BRDA:184,28,0,0 +BRF:63 +BRH:37 +end_of_record +TN: +SF:components/fragment_renderer/FragmentRender.stories.js +FNF:0 +FNH:0 +DA:1,1 +DA:2,1 +DA:3,1 +DA:5,1 +DA:13,1 +DA:14,1 +DA:15,1 +DA:16,1 +DA:17,1 +DA:18,1 +DA:19,1 +DA:21,1 +DA:89,1 +DA:682,1 +DA:1214,1 +DA:1272,1 +DA:1329,1 +DA:1348,1 +LF:18 +LH:18 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/fragment_renderer/PageHead.js +FN:3,PageHead +FNF:1 +FNH:0 +FNDA:0,PageHead +DA:1,0 +DA:3,0 +LF:2 +LH:0 +BRDA:8,0,0,0 +BRDA:8,0,1,0 +BRDA:15,1,0,0 +BRDA:15,1,1,0 +BRDA:26,2,0,0 +BRDA:26,2,1,0 +BRDA:36,3,0,0 +BRDA:36,3,1,0 +BRDA:43,4,0,0 +BRDA:43,4,1,0 +BRDA:49,5,0,0 +BRDA:49,5,1,0 +BRDA:62,6,0,0 +BRDA:62,6,1,0 +BRDA:82,7,0,0 +BRDA:82,7,1,0 +BRDA:91,8,0,0 +BRDA:91,8,1,0 +BRDA:99,9,0,0 +BRDA:99,9,1,0 +BRDA:111,10,0,0 +BRDA:111,10,1,0 +BRDA:124,11,0,0 +BRDA:124,11,1,0 +BRDA:133,12,0,0 +BRDA:133,12,1,0 +BRDA:142,13,0,0 +BRDA:142,13,1,0 +BRDA:154,14,0,0 +BRDA:154,14,1,0 +BRF:30 +BRH:0 +end_of_record +TN: +SF:components/fragment_renderer/fragment_components/ArticleCTA.js +FN:3,ArticleCTA +FNF:1 +FNH:1 +FNDA:2,ArticleCTA +DA:1,4 +DA:3,5 +LF:2 +LH:2 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/fragment_renderer/fragment_components/ArticleCTA.stories.js +FNF:0 +FNH:0 +DA:1,1 +DA:2,1 +DA:4,1 +DA:11,1 +DA:12,1 +LF:5 +LH:5 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/fragment_renderer/fragment_components/BasicTextWithImage.js +FN:4,BasicTextWithImage +FNF:1 +FNH:1 +FNDA:3,BasicTextWithImage +DA:1,5 +DA:2,5 +DA:4,4 +LF:3 +LH:3 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/fragment_renderer/fragment_components/BasicTextWithImage.stories.js +FNF:0 +FNH:0 +DA:1,1 +DA:2,1 +DA:4,1 +DA:11,1 +DA:12,1 +LF:5 +LH:5 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/fragment_renderer/fragment_components/Button.js +FN:3,Button +FNF:1 +FNH:1 +FNDA:7,Button +DA:1,4 +DA:3,6 +DA:5,7 +LF:3 +LH:3 +BRDA:5,0,0,0 +BRDA:5,0,1,7 +BRDA:7,1,0,4 +BRDA:7,1,1,3 +BRDA:9,2,0,3 +BRDA:9,2,1,0 +BRF:6 +BRH:4 +end_of_record +TN: +SF:components/fragment_renderer/fragment_components/Button.stories.js +FNF:0 +FNH:0 +DA:1,1 +DA:2,1 +DA:4,1 +DA:11,1 +DA:12,1 +DA:13,1 +DA:20,1 +LF:7 +LH:7 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/fragment_renderer/fragment_components/ImageFragment.js +FN:3,ImageFragment +FNF:1 +FNH:0 +FNDA:0,ImageFragment +DA:1,0 +DA:3,0 +LF:2 +LH:0 +BRDA:9,0,0,0 +BRDA:9,0,1,0 +BRDA:14,1,0,0 +BRDA:14,1,1,0 +BRDA:25,2,0,0 +BRDA:25,2,1,0 +BRF:6 +BRH:0 +end_of_record +TN: +SF:components/fragment_renderer/fragment_components/ImageFragment.stories.js +FNF:0 +FNH:0 +DA:1,0 +DA:2,0 +DA:4,0 +LF:3 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/fragment_renderer/fragment_components/ImageVerticalLineContent.js +FN:5,ImageVerticalLineContent +FNF:1 +FNH:1 +FNDA:5,ImageVerticalLineContent +DA:1,5 +DA:2,5 +DA:3,5 +DA:5,6 +LF:4 +LH:4 +BRDA:33,0,0,3 +BRDA:33,0,1,2 +BRF:2 +BRH:2 +end_of_record +TN: +SF:components/fragment_renderer/fragment_components/ImageVerticalLineContent.stories.js +FNF:0 +FNH:0 +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:6,1 +DA:21,1 +DA:22,1 +DA:23,1 +DA:76,1 +LF:9 +LH:9 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/fragment_renderer/fragment_components/ImageWithCollapse.js +FN:4,ImageWithCollapse +FNF:1 +FNH:1 +FNDA:3,ImageWithCollapse +DA:1,4 +DA:2,4 +DA:4,6 +LF:3 +LH:3 +BRDA:27,0,0,3 +BRDA:27,0,1,0 +BRDA:34,1,0,3 +BRDA:34,1,1,0 +BRF:4 +BRH:2 +end_of_record +TN: +SF:components/fragment_renderer/fragment_components/ImageWithCollapse.stories.js +FNF:0 +FNH:0 +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:6,1 +DA:13,2 +DA:14,1 +LF:7 +LH:7 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/fragment_renderer/fragment_components/QuoteVerticalLineContent.js +FN:3,QuoteVerticalLineContent +FNF:1 +FNH:1 +FNDA:2,QuoteVerticalLineContent +DA:1,4 +DA:3,5 +LF:2 +LH:2 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/fragment_renderer/fragment_components/QuoteVerticalLineContent.stories.js +FNF:0 +FNH:0 +DA:1,1 +DA:2,1 +DA:4,1 +DA:12,1 +DA:13,1 +LF:5 +LH:5 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/fragment_renderer/fragment_components/TextContent.js +FN:3,TextContent +FNF:1 +FNH:1 +FNDA:7,TextContent +DA:1,4 +DA:3,5 +LF:2 +LH:2 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/fragment_renderer/fragment_components/TextContent.stories.js +FNF:0 +FNH:0 +DA:1,1 +DA:2,1 +DA:4,1 +DA:11,1 +DA:13,1 +LF:5 +LH:5 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/fragment_renderer/fragment_components/TextWithImage.js +FN:4,TextWithImage +FNF:1 +FNH:1 +FNDA:5,TextWithImage +DA:1,4 +DA:2,4 +DA:4,7 +DA:15,5 +DA:40,0 +LF:5 +LH:4 +BRDA:15,0,0,0 +BRF:1 +BRH:0 +end_of_record +TN: +SF:components/fragment_renderer/fragment_components/TextWithImage.stories.js +FNF:0 +FNH:0 +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:6,1 +DA:13,1 +DA:14,1 +DA:15,1 +DA:17,1 +DA:37,1 +DA:90,1 +LF:11 +LH:11 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/molecules/CTA.js +FN:5,CTA +FN:13,(anonymous_2) +FNF:2 +FNH:2 +FNDA:5,CTA +FNDA:5,(anonymous_2) +DA:1,5 +DA:2,5 +DA:3,5 +DA:5,7 +DA:13,5 +LF:5 +LH:5 +BRDA:10,0,0,3 +BRDA:29,1,0,0 +BRDA:36,2,0,5 +BRF:3 +BRH:2 +end_of_record +TN: +SF:components/molecules/CTA.stories.js +FNF:0 +FNH:0 +DA:1,1 +DA:2,1 +DA:3,1 +DA:10,4 +DA:11,1 +DA:23,2 +DA:24,1 +LF:7 +LH:7 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/molecules/Card.js +FN:11,(anonymous_4) +FNF:1 +FNH:1 +FNDA:12,(anonymous_4) +DA:1,8 +DA:2,8 +DA:3,8 +DA:4,8 +DA:5,8 +DA:11,8 +DA:12,12 +DA:19,12 +DA:98,8 +DA:160,13 +LF:10 +LH:10 +BRDA:19,0,0,12 +BRDA:19,0,1,11 +BRDA:30,1,0,9 +BRDA:30,1,1,3 +BRDA:49,2,0,0 +BRDA:49,2,1,12 +BRDA:50,3,0,0 +BRDA:50,3,1,0 +BRDA:61,4,0,1 +BRDA:61,4,1,11 +BRDA:72,5,0,0 +BRDA:72,5,1,12 +BRDA:82,6,0,0 +BRDA:82,6,1,12 +BRF:14 +BRH:9 +end_of_record +TN: +SF:components/molecules/Card.stories.js +FNF:0 +FNH:0 +DA:1,1 +DA:2,1 +DA:3,1 +DA:5,1 +DA:12,4 +DA:13,2 +DA:14,1 +DA:15,1 +DA:16,1 +DA:18,1 +DA:26,1 +DA:35,1 +DA:44,1 +DA:52,1 +LF:14 +LH:14 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/molecules/Collapse.js +FN:3,Collapse +FNF:1 +FNH:1 +FNDA:11,Collapse +DA:1,8 +DA:3,12 +DA:4,11 +DA:5,11 +DA:26,8 +LF:5 +LH:5 +BRDA:3,0,0,6 +BRF:1 +BRH:1 +end_of_record +TN: +SF:components/molecules/Collapse.stories.js +FNF:0 +FNH:0 +DA:1,1 +DA:2,1 +DA:4,1 +DA:11,2 +DA:12,1 +DA:19,2 +DA:20,1 +LF:7 +LH:7 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/molecules/ContextualAlert.js +FN:3,ContextualAlert +FNF:1 +FNH:1 +FNDA:9,ContextualAlert +DA:1,3 +DA:3,9 +DA:4,9 +DA:5,9 +DA:6,9 +DA:7,9 +DA:18,9 +DA:21,7 +DA:30,7 +DA:38,7 +DA:75,3 +LF:11 +LH:11 +BRDA:21,0,0,2 +BRDA:21,0,1,5 +BRDA:23,1,0,1 +BRDA:23,1,1,4 +BRDA:25,2,0,2 +BRDA:25,2,1,2 +BRDA:30,3,0,2 +BRDA:30,3,1,5 +BRDA:32,4,0,1 +BRDA:32,4,1,4 +BRDA:34,5,0,2 +BRDA:34,5,1,2 +BRDA:38,6,0,0 +BRDA:38,6,1,7 +BRDA:53,7,0,0 +BRDA:63,8,0,0 +BRF:16 +BRH:13 +end_of_record +TN: +SF:components/molecules/ContextualAlert.stories.js +FNF:0 +FNH:0 +DA:1,1 +DA:2,1 +DA:9,4 +DA:10,2 +DA:11,2 +DA:12,2 +DA:14,1 +DA:33,1 +DA:43,1 +DA:53,1 +LF:10 +LH:10 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/molecules/CopyToClipboard.js +FN:5,CopyToClipboard +FN:20,(anonymous_3) +FNF:2 +FNH:2 +FNDA:4,CopyToClipboard +FNDA:1,(anonymous_3) +DA:1,2 +DA:2,2 +DA:3,2 +DA:5,5 +DA:6,4 +DA:20,1 +DA:39,2 +LF:7 +LH:7 +BRDA:5,0,0,2 +BRDA:5,1,0,4 +BRDA:6,2,0,4 +BRDA:6,2,1,0 +BRF:4 +BRH:3 +end_of_record +TN: +SF:components/molecules/CopyToClipboard.stories.js +FNF:0 +FNH:0 +DA:1,1 +DA:2,1 +DA:4,1 +DA:11,5 +DA:13,1 +LF:5 +LH:5 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/molecules/Details.js +FN:6,Details +FNF:1 +FNH:1 +FNDA:11,Details +DA:1,2 +DA:6,11 +DA:19,2 +LF:3 +LH:3 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/molecules/Details.stories.js +FNF:0 +FNH:0 +DA:1,1 +DA:2,1 +DA:4,1 +DA:11,6 +DA:12,1 +LF:5 +LH:5 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/molecules/ErrorBox.js +FN:7,ErrorBox +FN:23,(anonymous_3) +FN:29,(anonymous_4) +FNF:3 +FNH:3 +FNDA:3,ErrorBox +FNDA:9,(anonymous_3) +FNDA:1,(anonymous_4) +DA:1,1 +DA:2,1 +DA:7,4 +DA:24,9 +DA:29,1 +DA:43,1 +LF:6 +LH:6 +BRDA:7,0,0,0 +BRF:1 +BRH:0 +end_of_record +TN: +SF:components/molecules/ErrorBox.stories.js +FNF:0 +FNH:0 +DA:1,1 +DA:2,1 +DA:4,1 +DA:23,11 +DA:25,1 +LF:5 +LH:5 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/molecules/FeedbackWidget.js +FN:15,(anonymous_7) +FN:31,(anonymous_8) +FN:42,(anonymous_9) +FN:43,(anonymous_10) +FN:57,setFocusAfterSubmit +FN:71,(anonymous_12) +FN:176,(anonymous_13) +FN:201,(anonymous_14) +FN:272,(anonymous_15) +FN:273,(anonymous_16) +FNF:10 +FNH:5 +FNDA:10,(anonymous_7) +FNDA:7,(anonymous_8) +FNDA:1,(anonymous_9) +FNDA:1,(anonymous_10) +FNDA:0,setFocusAfterSubmit +FNDA:1,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:0,(anonymous_14) +FNDA:0,(anonymous_15) +FNDA:0,(anonymous_16) +DA:1,10 +DA:2,10 +DA:3,10 +DA:4,10 +DA:5,10 +DA:6,10 +DA:7,10 +DA:8,10 +DA:9,10 +DA:15,10 +DA:21,10 +DA:22,10 +DA:23,10 +DA:24,10 +DA:25,10 +DA:26,10 +DA:27,10 +DA:29,10 +DA:31,10 +DA:32,7 +DA:33,2 +DA:34,2 +DA:39,10 +DA:43,1 +DA:44,1 +DA:46,0 +DA:47,0 +DA:49,1 +DA:50,1 +DA:53,1 +DA:58,0 +DA:61,10 +DA:62,10 +DA:63,10 +DA:71,10 +DA:73,1 +DA:75,1 +DA:77,1 +DA:79,1 +DA:81,1 +DA:88,1 +DA:92,1 +DA:94,1 +DA:96,0 +DA:105,0 +DA:106,0 +DA:107,0 +DA:108,0 +DA:110,0 +DA:113,0 +DA:114,0 +DA:115,0 +DA:117,1 +DA:176,0 +DA:202,0 +DA:203,0 +DA:272,0 +DA:274,0 +DA:300,10 +DA:307,10 +LF:60 +LH:43 +BRDA:32,0,0,2 +BRDA:44,1,0,0 +BRDA:44,1,1,1 +BRDA:94,2,0,0 +BRDA:94,2,1,1 +BRDA:105,3,0,0 +BRDA:105,3,1,0 +BRDA:105,4,0,0 +BRDA:105,4,1,0 +BRDA:123,5,0,8 +BRDA:123,5,1,2 +BRDA:138,6,0,0 +BRDA:138,6,1,8 +BRDA:140,7,0,0 +BRDA:140,7,1,0 +BRDA:143,8,0,0 +BRDA:143,8,1,0 +BRDA:151,9,0,0 +BRDA:151,9,1,0 +BRDA:256,10,0,2 +BRDA:256,10,1,6 +BRF:21 +BRH:8 +end_of_record +TN: +SF:components/molecules/FeedbackWidget.stories.js +FNF:0 +FNH:0 +DA:1,1 +DA:2,1 +DA:4,1 +DA:11,8 +DA:13,1 +LF:5 +LH:5 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/molecules/Filter.js +FN:7,Filter +FN:19,(anonymous_3) +FNF:2 +FNH:2 +FNDA:3,Filter +FNDA:9,(anonymous_3) +DA:1,1 +DA:2,1 +DA:7,4 +DA:20,9 +DA:40,1 +LF:5 +LH:5 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/molecules/Filter.stories.js +FNF:0 +FNH:0 +DA:1,1 +DA:2,1 +DA:4,1 +DA:11,12 +DA:13,1 +LF:5 +LH:5 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/molecules/Heading.js +FN:3,Heading +FNF:1 +FNH:1 +FNDA:10,Heading +DA:1,8 +DA:3,11 +DA:4,10 +DA:27,8 +LF:4 +LH:4 +BRDA:12,0,0,10 +BRDA:12,0,1,1 +BRF:2 +BRH:2 +end_of_record +TN: +SF:components/molecules/Heading.stories.js +FNF:0 +FNH:0 +DA:1,1 +DA:3,1 +DA:10,3 +DA:11,1 +DA:13,1 +DA:18,1 +LF:6 +LH:6 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/molecules/List.js +FN:6,List +FN:10,(anonymous_3) +FNF:2 +FNH:2 +FNDA:2,List +FNDA:8,(anonymous_3) +DA:1,1 +DA:6,3 +DA:7,2 +DA:12,8 +DA:15,8 +DA:16,8 +DA:31,1 +LF:7 +LH:7 +BRDA:15,0,0,6 +BRF:1 +BRH:1 +end_of_record +TN: +SF:components/molecules/List.stories.js +FNF:0 +FNH:0 +DA:1,1 +DA:2,1 +DA:4,1 +DA:11,5 +DA:13,1 +LF:5 +LH:5 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/molecules/MainBand.js +FN:4,MainBand +FN:21,(anonymous_2) +FNF:2 +FNH:2 +FNDA:13,MainBand +FNDA:273,(anonymous_2) +DA:1,9 +DA:2,9 +DA:4,13 +DA:5,13 +DA:22,273 +LF:5 +LH:5 +BRDA:26,0,0,13 +BRDA:26,0,1,260 +BRF:2 +BRH:2 +end_of_record +TN: +SF:components/molecules/Menu.js +FN:9,Menu +FN:29,(anonymous_3) +FN:44,(anonymous_4) +FN:63,(anonymous_5) +FNF:4 +FNH:3 +FNDA:4,Menu +FNDA:1,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:12,(anonymous_5) +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:9,4 +DA:11,4 +DA:12,4 +DA:13,4 +DA:29,1 +DA:44,0 +DA:64,12 +DA:65,12 +DA:67,12 +DA:94,1 +LF:14 +LH:13 +BRDA:46,0,0,1 +BRDA:46,0,1,3 +BRDA:59,1,0,1 +BRDA:59,1,1,3 +BRDA:72,2,0,0 +BRDA:72,2,1,12 +BRDA:77,3,0,0 +BRDA:77,3,1,12 +BRDA:78,4,0,0 +BRDA:78,4,1,0 +BRF:10 +BRH:6 +end_of_record +TN: +SF:components/molecules/Menu.stories.js +FNF:0 +FNH:0 +DA:1,1 +DA:2,1 +DA:4,1 +DA:11,6 +DA:13,1 +LF:5 +LH:5 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/molecules/OptionalListField.js +FN:9,OptionalListField +FN:11,(anonymous_3) +FN:22,(anonymous_4) +FNF:3 +FNH:3 +FNDA:5,OptionalListField +FNDA:1,(anonymous_3) +FNDA:5,(anonymous_4) +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:9,5 +DA:10,5 +DA:11,5 +DA:12,1 +DA:13,0 +DA:15,1 +DA:18,1 +DA:19,0 +DA:22,5 +DA:23,5 +DA:24,0 +DA:26,5 +DA:27,5 +DA:29,0 +DA:79,1 +LF:19 +LH:15 +BRDA:9,0,0,4 +BRDA:10,1,0,5 +BRDA:10,1,1,2 +BRDA:12,2,0,0 +BRDA:12,2,1,1 +BRDA:18,3,0,0 +BRDA:23,4,0,0 +BRDA:26,5,0,5 +BRDA:34,6,0,4 +BRDA:60,7,0,4 +BRDA:60,7,1,1 +BRDA:60,8,0,5 +BRDA:60,8,1,2 +BRDA:60,8,2,4 +BRDA:63,9,0,0 +BRDA:63,9,1,4 +BRF:16 +BRH:12 +end_of_record +TN: +SF:components/molecules/OptionalListField.stories.js +FNF:0 +FNH:0 +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:6,1 +DA:22,1 +DA:23,1 +DA:48,2 +DA:49,1 +DA:76,2 +DA:77,1 +DA:104,2 +DA:105,1 +DA:133,2 +DA:134,1 +LF:15 +LH:15 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/molecules/OptionalTextField.js +FN:12,OptionalTextField +FN:16,(anonymous_3) +FN:76,(anonymous_4) +FN:94,(anonymous_5) +FNF:4 +FNH:2 +FNDA:55,OptionalTextField +FNDA:3,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +DA:1,2 +DA:2,2 +DA:3,2 +DA:4,2 +DA:5,2 +DA:6,2 +DA:7,2 +DA:12,54 +DA:13,55 +DA:14,55 +DA:15,55 +DA:16,55 +DA:17,3 +DA:18,0 +DA:19,0 +DA:21,3 +DA:22,3 +DA:25,3 +DA:26,0 +DA:106,2 +LF:20 +LH:17 +BRDA:12,0,0,54 +BRDA:13,1,0,55 +BRDA:13,1,1,54 +BRDA:17,2,0,0 +BRDA:17,2,1,3 +BRDA:25,3,0,0 +BRDA:31,4,0,55 +BRDA:47,5,0,55 +BRDA:61,6,0,4 +BRDA:61,6,1,51 +BRDA:61,7,0,55 +BRDA:61,7,1,54 +BRDA:61,7,2,52 +BRDA:62,8,0,2 +BRDA:62,8,1,2 +BRDA:76,9,0,0 +BRDA:76,9,1,2 +BRDA:94,10,0,0 +BRDA:94,10,1,2 +BRF:19 +BRH:15 +end_of_record +TN: +SF:components/molecules/OptionalTextField.stories.js +FNF:0 +FNH:0 +DA:1,1 +DA:2,1 +DA:4,1 +DA:20,1 +DA:21,1 +DA:32,1 +DA:33,1 +DA:45,2 +DA:46,1 +DA:59,2 +DA:60,1 +DA:72,2 +DA:73,1 +LF:13 +LH:13 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/molecules/Quote.js +FN:6,Quote +FNF:1 +FNH:1 +FNDA:2,Quote +DA:1,1 +DA:6,3 +DA:21,1 +LF:3 +LH:3 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/molecules/Quote.stories.js +FNF:0 +FNH:0 +DA:1,1 +DA:2,1 +DA:4,1 +DA:11,5 +DA:13,1 +LF:5 +LH:5 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/molecules/SubFooterBand.js +FN:50,(anonymous_1) +FN:54,SubFooterBand +FN:78,(anonymous_3) +FN:98,(anonymous_4) +FNF:4 +FNH:3 +FNDA:13,(anonymous_1) +FNDA:13,SubFooterBand +FNDA:0,(anonymous_3) +FNDA:65,(anonymous_4) +DA:1,9 +DA:2,9 +DA:4,9 +DA:27,9 +DA:50,9 +DA:51,13 +DA:54,13 +DA:79,0 +DA:99,65 +LF:9 +LH:8 +BRDA:51,0,0,0 +BRDA:51,0,1,13 +BRDA:59,1,0,0 +BRDA:59,1,1,13 +BRDA:60,2,0,0 +BRDA:60,2,1,13 +BRDA:63,3,0,0 +BRDA:77,4,0,0 +BRDA:77,4,1,13 +BRDA:83,5,0,0 +BRDA:83,5,1,0 +BRDA:87,6,0,0 +BRDA:87,6,1,0 +BRDA:103,7,0,13 +BRDA:103,7,1,52 +BRDA:108,8,0,0 +BRDA:108,8,1,65 +BRDA:126,9,0,0 +BRDA:126,9,1,13 +BRDA:131,10,0,0 +BRDA:131,10,1,13 +BRF:21 +BRH:9 +end_of_record +TN: +SF:components/molecules/TextButtonField.js +FN:7,TextButtonField +FNF:1 +FNH:1 +FNDA:6,TextButtonField +DA:1,1 +DA:2,1 +DA:7,7 +DA:10,6 +DA:11,5 +DA:44,1 +LF:6 +LH:6 +BRDA:10,0,0,5 +BRDA:11,1,0,2 +BRDA:11,1,1,3 +BRDA:18,2,0,0 +BRDA:26,3,0,6 +BRDA:26,3,1,0 +BRF:6 +BRH:4 +end_of_record +TN: +SF:components/molecules/TextButtonField.stories.js +FNF:0 +FNH:0 +DA:1,1 +DA:2,1 +DA:4,1 +DA:11,8 +DA:12,3 +DA:13,3 +DA:14,3 +DA:16,1 +DA:24,1 +DA:31,1 +DA:39,1 +LF:11 +LH:11 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/molecules/TopNavBar.js +FN:4,TopNavBar +FN:18,(anonymous_6) +FN:22,(anonymous_7) +FN:24,(anonymous_8) +FNF:4 +FNH:1 +FNDA:3,TopNavBar +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +DA:1,9 +DA:2,9 +DA:4,5 +DA:14,3 +DA:15,3 +DA:18,3 +DA:19,0 +DA:22,3 +DA:23,0 +DA:24,0 +DA:25,0 +DA:26,0 +LF:12 +LH:7 +BRDA:19,0,0,0 +BRDA:19,0,1,0 +BRDA:54,1,0,0 +BRDA:54,1,1,3 +BRDA:60,2,0,0 +BRDA:62,3,0,0 +BRDA:62,3,1,0 +BRDA:77,4,0,0 +BRDA:77,4,1,3 +BRDA:107,5,0,0 +BRDA:107,5,1,3 +BRDA:111,6,0,0 +BRDA:111,6,1,0 +BRDA:116,7,0,0 +BRDA:116,7,1,0 +BRDA:123,8,0,0 +BRDA:123,8,1,0 +BRDA:130,9,0,0 +BRDA:130,9,1,0 +BRF:19 +BRH:3 +end_of_record +TN: +SF:components/molecules/TopNavBar.stories.js +FNF:0 +FNH:0 +DA:1,1 +DA:2,1 +DA:4,1 +DA:11,6 +DA:13,1 +LF:5 +LH:5 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/organisms/Feedback.js +FN:6,Feedback +FN:13,handleSubmit +FN:114,(anonymous_4) +FN:120,(anonymous_5) +FNF:4 +FNH:1 +FNDA:12,Feedback +FNDA:0,handleSubmit +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +DA:1,8 +DA:2,8 +DA:3,8 +DA:4,8 +DA:7,12 +DA:8,12 +DA:10,12 +DA:11,12 +DA:14,0 +DA:15,0 +DA:16,0 +DA:24,0 +DA:114,0 +DA:120,0 +DA:132,12 +LF:15 +LH:9 +BRDA:30,0,0,12 +BRDA:44,1,0,12 +BRDA:44,1,1,0 +BRDA:109,2,0,12 +BRDA:109,2,1,12 +BRF:5 +BRH:4 +end_of_record +TN: +SF:components/organisms/Footer.js +FN:31,(anonymous_2) +FNF:1 +FNH:1 +FNDA:13,(anonymous_2) +DA:2,9 +DA:3,9 +DA:4,9 +DA:5,9 +DA:7,9 +DA:31,14 +DA:86,9 +LF:7 +LH:7 +BRDA:45,0,0,0 +BRDA:45,0,1,13 +BRDA:45,1,0,13 +BRDA:45,1,1,0 +BRF:4 +BRH:2 +end_of_record +TN: +SF:components/organisms/Footer.stories.js +FNF:0 +FNH:0 +DA:1,1 +DA:2,1 +DA:4,1 +DA:11,1 +DA:12,1 +LF:5 +LH:5 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/organisms/HelpIcon.js +FN:5,(anonymous_1) +FN:7,(anonymous_2) +FN:8,(anonymous_3) +FNF:3 +FNH:1 +FNDA:9,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +DA:1,8 +DA:2,8 +DA:3,8 +DA:5,10 +DA:6,9 +DA:7,9 +DA:8,9 +LF:7 +LH:7 +BRDA:30,0,0,9 +BRDA:43,1,0,0 +BRDA:43,1,1,0 +BRDA:67,2,0,0 +BRDA:67,2,1,0 +BRF:5 +BRH:1 +end_of_record +TN: +SF:components/organisms/HelpIcon.stories.js +FNF:0 +FNH:0 +DA:1,1 +DA:2,1 +DA:4,1 +DA:11,1 +DA:12,1 +DA:13,1 +DA:15,1 +DA:21,1 +DA:27,1 +LF:9 +LH:9 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/organisms/Layout.js +FN:15,(anonymous_2) +FNF:1 +FNH:1 +FNDA:12,(anonymous_2) +DA:1,8 +DA:2,8 +DA:3,8 +DA:4,8 +DA:5,8 +DA:6,8 +DA:7,8 +DA:8,8 +DA:9,8 +DA:10,8 +DA:15,15 +DA:32,12 +DA:33,12 +DA:34,12 +DA:39,12 +DA:160,8 +LF:16 +LH:16 +BRDA:33,0,0,0 +BRDA:33,0,1,12 +BRDA:35,1,0,12 +BRDA:35,1,1,0 +BRDA:35,2,0,12 +BRDA:35,2,1,12 +BRDA:58,3,0,0 +BRDA:58,3,1,12 +BRDA:80,4,0,12 +BRDA:80,4,1,0 +BRDA:95,5,0,12 +BRDA:95,5,1,0 +BRDA:108,6,0,12 +BRDA:108,6,1,0 +BRDA:113,7,0,0 +BRDA:113,7,1,12 +BRDA:130,8,0,2 +BRDA:130,8,1,10 +BRDA:130,9,0,12 +BRDA:130,9,1,2 +BRDA:136,10,0,12 +BRDA:136,10,1,0 +BRF:22 +BRH:14 +end_of_record +TN: +SF:components/organisms/Layout.stories.js +FN:9,(anonymous_5) +FNF:1 +FNH:1 +FNDA:7,(anonymous_5) +DA:1,1 +DA:2,1 +DA:4,1 +DA:9,1 +DA:25,6 +DA:26,4 +DA:28,1 +DA:33,1 +LF:8 +LH:8 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/organisms/PhaseBanner.js +FN:12,(anonymous_7) +FN:24,(anonymous_8) +FNF:2 +FNH:2 +FNDA:3,(anonymous_7) +FNDA:1,(anonymous_8) +DA:1,9 +DA:2,9 +DA:3,9 +DA:5,9 +DA:6,9 +DA:12,9 +DA:20,3 +DA:21,3 +DA:22,3 +DA:24,3 +DA:25,1 +DA:26,0 +DA:28,1 +DA:31,1 +DA:112,9 +DA:135,9 +LF:16 +LH:15 +BRDA:25,0,0,0 +BRDA:25,0,1,1 +BRDA:40,1,0,2 +BRDA:40,1,1,1 +BRDA:49,2,0,2 +BRDA:49,2,1,1 +BRDA:68,3,0,2 +BRDA:68,3,1,1 +BRF:8 +BRH:7 +end_of_record +TN: +SF:components/organisms/PhaseBanner.stories.js +FNF:0 +FNH:0 +DA:1,1 +DA:2,1 +DA:4,1 +DA:11,2 +DA:12,2 +DA:14,1 +DA:19,1 +LF:7 +LH:7 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/organisms/ReportAProblem.js +FN:14,ReportAProblem +FN:20,(anonymous_3) +FN:84,(anonymous_4) +FNF:3 +FNH:2 +FNDA:9,ReportAProblem +FNDA:3,(anonymous_3) +FNDA:0,(anonymous_4) +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:7,1 +DA:8,1 +DA:9,1 +DA:14,7 +DA:15,9 +DA:16,8 +DA:18,8 +DA:20,8 +DA:22,3 +DA:25,3 +DA:26,3 +DA:27,24 +DA:28,21 +DA:29,1 +DA:35,3 +DA:37,3 +DA:40,3 +DA:41,5 +DA:42,5 +DA:46,3 +DA:47,3 +DA:51,3 +DA:52,0 +DA:62,3 +DA:73,3 +DA:74,21 +DA:78,3 +DA:88,0 +DA:91,3 +DA:92,1 +DA:95,3 +DA:373,1 +LF:38 +LH:36 +BRDA:27,0,0,21 +BRDA:28,1,0,1 +BRDA:51,2,0,0 +BRDA:51,2,1,3 +BRDA:91,3,0,1 +BRDA:105,4,0,1 +BRDA:105,4,1,7 +BRDA:125,5,0,1 +BRDA:350,6,0,2 +BRDA:350,6,1,5 +BRF:10 +BRH:9 +end_of_record +TN: +SF:components/organisms/ReportAProblem.stories.js +FNF:0 +FNH:0 +DA:1,1 +DA:2,1 +DA:4,1 +DA:11,10 +LF:4 +LH:4 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/text_node_renderer/TextRecur.jsx +FN:26,TextRecur +FN:43,(anonymous_3) +FNF:2 +FNH:2 +FNDA:500,TextRecur +FNDA:400,(anonymous_3) +DA:1,11 +DA:3,11 +DA:4,11 +DA:5,11 +DA:6,11 +DA:7,11 +DA:8,11 +DA:9,11 +DA:10,11 +DA:11,11 +DA:14,11 +DA:26,99 +DA:27,500 +DA:28,499 +DA:30,499 +DA:36,1 +DA:44,400 +LF:17 +LH:17 +BRDA:30,0,0,1 +BRDA:31,1,0,499 +BRDA:31,1,1,499 +BRDA:31,1,2,51 +BRDA:31,1,3,11 +BRDA:41,2,0,257 +BRDA:41,2,1,241 +BRDA:41,3,0,498 +BRDA:41,3,1,279 +BRF:9 +BRH:9 +end_of_record +TN: +SF:components/text_node_renderer/TextRender.jsx +FN:4,TextRender +FN:7,(anonymous_3) +FNF:2 +FNH:2 +FNDA:35,TextRender +FNDA:99,(anonymous_3) +DA:1,11 +DA:2,11 +DA:4,33 +DA:8,99 +LF:4 +LH:4 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/text_node_renderer/nodes/Header.jsx +FN:1,Header +FNF:1 +FNH:1 +FNDA:18,Header +DA:1,11 +DA:2,18 +LF:2 +LH:2 +BRDA:5,0,0,0 +BRDA:5,0,1,0 +BRDA:9,1,0,4 +BRDA:9,1,1,5 +BRF:4 +BRH:2 +end_of_record +TN: +SF:components/text_node_renderer/nodes/LineBreak.jsx +FN:1,LineBreak +FNF:1 +FNH:1 +FNDA:22,LineBreak +DA:1,11 +DA:2,22 +LF:2 +LH:2 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/text_node_renderer/nodes/Link.jsx +FN:1,Link +FNF:1 +FNH:1 +FNDA:3,Link +DA:1,11 +LF:1 +LH:1 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/text_node_renderer/nodes/ListItem.jsx +FN:1,ListItem +FNF:1 +FNH:1 +FNDA:135,ListItem +DA:1,11 +LF:1 +LH:1 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/text_node_renderer/nodes/OrderedList.jsx +FN:1,UnorderedList +FNF:1 +FNH:1 +FNDA:2,UnorderedList +DA:1,11 +LF:1 +LH:1 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/text_node_renderer/nodes/Paragraph.jsx +FN:1,Paragraph +FNF:1 +FNH:1 +FNDA:59,Paragraph +DA:1,11 +LF:1 +LH:1 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/text_node_renderer/nodes/Span.jsx +FN:1,Span +FNF:1 +FNH:0 +FNDA:0,Span +DA:1,11 +LF:1 +LH:1 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/text_node_renderer/nodes/Text.jsx +FN:1,Text +FNF:1 +FNH:1 +FNDA:216,Text +DA:1,11 +DA:3,216 +LF:2 +LH:2 +BRF:0 +BRH:0 +end_of_record +TN: +SF:components/text_node_renderer/nodes/UnorderedList.jsx +FN:1,UnorderedList +FNF:1 +FNH:1 +FNDA:44,UnorderedList +DA:1,11 +LF:1 +LH:1 +BRF:0 +BRH:0 +end_of_record +TN: +SF:lib/notify/postFeedbackToGcNotify.js +FN:1,postFeedbackToGcNotify +FNF:1 +FNH:0 +FNDA:0,postFeedbackToGcNotify +DA:1,1 +DA:2,0 +LF:2 +LH:1 +BRF:0 +BRH:0 +end_of_record +TN: +SF:lib/notify/submitEmail.js +FN:3,(anonymous_3) +FN:32,(anonymous_4) +FNF:2 +FNH:1 +FNDA:1,(anonymous_3) +FNDA:0,(anonymous_4) +DA:1,2 +DA:3,2 +DA:11,1 +DA:29,1 +DA:32,2 +DA:42,0 +DA:64,0 +LF:7 +LH:5 +BRF:0 +BRH:0 +end_of_record +TN: +SF:lib/utils/createBreadcrumbs.js +FN:1,(anonymous_1) +FN:2,(anonymous_2) +FNF:2 +FNH:2 +FNDA:6,(anonymous_1) +FNDA:6,(anonymous_2) +DA:1,6 +DA:2,6 +DA:3,6 +LF:3 +LH:3 +BRDA:5,0,0,0 +BRDA:5,0,1,6 +BRDA:7,1,0,0 +BRDA:7,1,1,6 +BRF:4 +BRH:2 +end_of_record +TN: +SF:lib/utils/generateCollapseElements.js +FN:1,(anonymous_1) +FN:10,(anonymous_2) +FN:21,(anonymous_3) +FNF:3 +FNH:0 +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +DA:1,0 +DA:2,0 +DA:4,0 +DA:5,0 +DA:6,0 +DA:9,0 +DA:10,0 +DA:11,0 +DA:15,0 +DA:20,0 +DA:21,0 +DA:22,0 +DA:26,0 +DA:31,0 +DA:32,0 +DA:37,0 +DA:38,0 +DA:42,0 +LF:18 +LH:0 +BRDA:5,0,0,0 +BRDA:5,0,1,0 +BRDA:9,1,0,0 +BRDA:9,1,1,0 +BRDA:20,2,0,0 +BRDA:20,2,1,0 +BRDA:31,3,0,0 +BRDA:31,3,1,0 +BRDA:37,4,0,0 +BRF:9 +BRH:0 +end_of_record +TN: +SF:lib/utils/getAllUpdateIds.js +FN:1,getAllUpdateIds +FN:2,(anonymous_2) +FNF:2 +FNH:0 +FNDA:0,getAllUpdateIds +FNDA:0,(anonymous_2) +DA:1,0 +DA:2,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:lib/utils/maskEmail.js +FN:2,maskEmail +FNF:1 +FNH:1 +FNDA:1,maskEmail +DA:2,1 +DA:3,1 +DA:4,1 +DA:6,1 +DA:7,14 +DA:8,1 +DA:9,13 +DA:10,10 +DA:11,10 +DA:13,3 +DA:14,3 +DA:18,1 +LF:12 +LH:12 +BRDA:7,0,0,1 +BRDA:7,0,1,13 +BRDA:9,1,0,10 +BRDA:9,1,1,3 +BRDA:9,2,0,13 +BRDA:9,2,1,12 +BRDA:9,2,2,11 +BRF:7 +BRH:7 +end_of_record +TN: +SF:lib/utils/sortUpdatesByDate.js +FN:1,(anonymous_1) +FN:2,(anonymous_2) +FNF:2 +FNH:2 +FNDA:6,(anonymous_1) +FNDA:3,(anonymous_2) +DA:1,6 +DA:2,6 +DA:3,3 +LF:3 +LH:3 +BRF:0 +BRH:0 +end_of_record +TN: +SF:lib/utils/stripFeedback.js +FN:1,stripFeedback +FNF:1 +FNH:1 +FNDA:7,stripFeedback +DA:1,7 +DA:3,7 +DA:9,7 +DA:15,7 +DA:21,7 +DA:25,7 +DA:30,7 +LF:7 +LH:7 +BRF:0 +BRH:0 +end_of_record +TN: +SF:middlewares/initMiddleware.js +FN:3,initMiddleware +FN:4,(anonymous_2) +FN:5,(anonymous_3) +FN:6,(anonymous_4) +FNF:4 +FNH:0 +FNDA:0,initMiddleware +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +DA:3,0 +DA:4,0 +DA:5,0 +DA:6,0 +DA:7,0 +DA:8,0 +DA:10,0 +LF:7 +LH:0 +BRDA:7,0,0,0 +BRF:1 +BRH:0 +end_of_record +TN: +SF:middlewares/joi.js +FN:11,validate +FN:12,(anonymous_2) +FN:19,(anonymous_3) +FNF:3 +FNH:3 +FNDA:1,validate +FNDA:1,(anonymous_2) +FNDA:2,(anonymous_3) +DA:1,1 +DA:2,1 +DA:11,1 +DA:12,1 +DA:13,1 +DA:14,1 +DA:15,1 +DA:16,0 +DA:18,1 +DA:19,1 +DA:20,2 +DA:22,1 +LF:12 +LH:11 +BRDA:11,0,0,0 +BRDA:15,1,0,0 +BRDA:15,1,1,1 +BRF:3 +BRH:1 +end_of_record +TN: +SF:pages/404.js +FN:10,error404 +FN:16,(anonymous_5) +FN:231,(anonymous_6) +FNF:3 +FNH:2 +FNDA:2,error404 +FNDA:1,(anonymous_5) +FNDA:0,(anonymous_6) +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:7,1 +DA:8,1 +DA:10,1 +DA:11,2 +DA:12,2 +DA:13,2 +DA:14,2 +DA:16,2 +DA:17,1 +DA:18,0 +DA:19,0 +DA:23,1 +DA:24,0 +DA:26,1 +DA:31,2 +DA:32,1 +DA:231,1 +DA:232,0 +DA:234,0 +LF:25 +LH:20 +BRDA:17,0,0,0 +BRDA:18,1,0,0 +BRDA:18,1,1,0 +BRDA:23,2,0,0 +BRDA:23,2,1,1 +BRDA:31,3,0,1 +BRDA:52,4,0,0 +BRDA:52,4,1,1 +BRDA:67,5,0,0 +BRDA:67,5,1,1 +BRDA:117,6,0,0 +BRDA:117,6,1,1 +BRDA:122,7,0,0 +BRDA:122,7,1,1 +BRDA:161,8,0,0 +BRDA:161,8,1,1 +BRDA:213,9,0,0 +BRDA:213,9,1,1 +BRDA:218,10,0,0 +BRDA:218,10,1,1 +BRDA:237,11,0,0 +BRDA:237,11,1,0 +BRF:22 +BRH:9 +end_of_record +TN: +SF:pages/500.js +FN:10,error500 +FN:16,(anonymous_5) +FN:260,(anonymous_6) +FNF:3 +FNH:2 +FNDA:2,error500 +FNDA:1,(anonymous_5) +FNDA:0,(anonymous_6) +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:7,1 +DA:8,1 +DA:10,1 +DA:11,2 +DA:12,2 +DA:13,2 +DA:14,2 +DA:16,2 +DA:17,1 +DA:18,0 +DA:19,0 +DA:23,1 +DA:24,0 +DA:26,1 +DA:31,2 +DA:32,1 +DA:260,1 +DA:261,0 +DA:263,0 +LF:25 +LH:20 +BRDA:17,0,0,0 +BRDA:18,1,0,0 +BRDA:18,1,1,0 +BRDA:23,2,0,0 +BRDA:23,2,1,1 +BRDA:31,3,0,1 +BRDA:66,4,0,0 +BRDA:66,4,1,1 +BRDA:146,5,0,0 +BRDA:146,5,1,1 +BRDA:151,6,0,0 +BRDA:151,6,1,1 +BRDA:190,7,0,0 +BRDA:190,7,1,1 +BRDA:242,8,0,0 +BRDA:242,8,1,1 +BRDA:247,9,0,0 +BRDA:247,9,1,1 +BRDA:266,10,0,0 +BRDA:266,10,1,0 +BRF:20 +BRH:8 +end_of_record +TN: +SF:pages/_app.js +FN:23,MyApp +FNF:1 +FNH:0 +FNDA:0,MyApp +DA:1,0 +DA:2,0 +DA:3,0 +DA:4,0 +DA:5,0 +DA:6,0 +DA:7,0 +DA:8,0 +DA:10,0 +DA:12,0 +DA:17,0 +DA:33,0 +LF:12 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:pages/cdcp-apply.js +FN:9,CDCPLanding +FN:36,(anonymous_5) +FN:135,(anonymous_6) +FNF:3 +FNH:0 +FNDA:0,CDCPLanding +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +DA:1,0 +DA:2,0 +DA:3,0 +DA:4,0 +DA:5,0 +DA:6,0 +DA:7,0 +DA:9,0 +DA:10,0 +DA:12,0 +DA:36,0 +DA:37,0 +DA:38,0 +DA:39,0 +DA:135,0 +DA:136,0 +LF:16 +LH:0 +BRDA:37,0,0,0 +BRDA:38,1,0,0 +BRDA:38,1,1,0 +BRDA:46,2,0,0 +BRDA:46,2,1,0 +BRDA:63,3,0,0 +BRDA:63,3,1,0 +BRDA:69,4,0,0 +BRDA:69,4,1,0 +BRDA:139,5,0,0 +BRDA:139,5,1,0 +BRF:11 +BRH:0 +end_of_record +TN: +SF:pages/error.js +FN:10,ErrorPage +FN:25,(anonymous_5) +FN:435,(anonymous_6) +FNF:3 +FNH:0 +FNDA:0,ErrorPage +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +DA:1,0 +DA:2,0 +DA:3,0 +DA:4,0 +DA:5,0 +DA:6,0 +DA:7,0 +DA:8,0 +DA:10,0 +DA:11,0 +DA:12,0 +DA:13,0 +DA:15,0 +DA:17,0 +DA:19,0 +DA:21,0 +DA:23,0 +DA:25,0 +DA:26,0 +DA:27,0 +DA:28,0 +DA:435,0 +DA:436,0 +DA:438,0 +LF:24 +LH:0 +BRDA:15,0,0,0 +BRDA:15,0,1,0 +BRDA:17,1,0,0 +BRDA:17,1,1,0 +BRDA:19,2,0,0 +BRDA:19,2,1,0 +BRDA:21,3,0,0 +BRDA:21,3,1,0 +BRDA:23,4,0,0 +BRDA:23,4,1,0 +BRDA:26,5,0,0 +BRDA:27,6,0,0 +BRDA:27,6,1,0 +BRDA:45,7,0,0 +BRDA:45,7,1,0 +BRDA:67,8,0,0 +BRDA:67,8,1,0 +BRDA:98,9,0,0 +BRDA:98,9,1,0 +BRDA:132,10,0,0 +BRDA:132,10,1,0 +BRDA:156,11,0,0 +BRDA:156,11,1,0 +BRDA:169,12,0,0 +BRDA:169,12,1,0 +BRDA:174,13,0,0 +BRDA:174,13,1,0 +BRDA:192,14,0,0 +BRDA:192,14,1,0 +BRDA:209,15,0,0 +BRDA:243,16,0,0 +BRDA:289,17,0,0 +BRDA:289,17,1,0 +BRDA:309,18,0,0 +BRDA:309,18,1,0 +BRDA:326,19,0,0 +BRDA:360,20,0,0 +BRDA:418,21,0,0 +BRDA:418,21,1,0 +BRDA:423,22,0,0 +BRDA:423,22,1,0 +BRDA:441,23,0,0 +BRDA:441,23,1,0 +BRF:43 +BRH:0 +end_of_record +TN: +SF:pages/home.js +FN:11,Home +FN:15,(anonymous_5) +FN:22,(anonymous_6) +FN:39,(anonymous_7) +FN:45,(anonymous_8) +FN:91,(anonymous_9) +FN:412,(anonymous_10) +FNF:7 +FNH:5 +FNDA:2,Home +FNDA:1,(anonymous_5) +FNDA:1,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:1,(anonymous_8) +FNDA:1,(anonymous_9) +FNDA:0,(anonymous_10) +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:7,1 +DA:8,1 +DA:9,1 +DA:11,1 +DA:12,2 +DA:13,1 +DA:15,1 +DA:16,1 +DA:22,1 +DA:24,1 +DA:33,1 +DA:34,1 +DA:35,6 +DA:39,1 +DA:40,0 +DA:44,1 +DA:46,1 +DA:91,1 +DA:92,1 +DA:93,0 +DA:94,0 +DA:412,1 +DA:413,0 +DA:416,0 +DA:420,0 +LF:31 +LH:25 +BRDA:50,0,0,1 +BRDA:50,0,1,0 +BRDA:54,1,0,0 +BRDA:54,1,1,1 +BRDA:58,2,0,0 +BRDA:58,2,1,1 +BRDA:63,3,0,0 +BRDA:63,3,1,1 +BRDA:68,4,0,1 +BRDA:68,4,1,0 +BRDA:73,5,0,1 +BRDA:73,5,1,0 +BRDA:77,6,0,0 +BRDA:77,6,1,1 +BRDA:79,7,0,0 +BRDA:79,7,1,1 +BRDA:82,8,0,0 +BRDA:82,8,1,1 +BRDA:92,9,0,0 +BRDA:93,10,0,0 +BRDA:93,10,1,0 +BRDA:103,11,0,0 +BRDA:103,11,1,1 +BRDA:110,12,0,0 +BRDA:110,12,1,1 +BRDA:115,13,0,0 +BRDA:115,13,1,1 +BRDA:126,14,0,0 +BRDA:126,14,1,1 +BRDA:136,15,0,0 +BRDA:136,15,1,1 +BRDA:141,16,0,0 +BRDA:141,16,1,1 +BRDA:147,17,0,0 +BRDA:147,17,1,1 +BRDA:160,18,0,0 +BRDA:160,18,1,1 +BRDA:182,19,0,0 +BRDA:182,19,1,1 +BRDA:191,20,0,0 +BRDA:191,20,1,1 +BRDA:197,21,0,0 +BRDA:197,21,1,1 +BRDA:209,22,0,0 +BRDA:209,22,1,1 +BRDA:220,23,0,0 +BRDA:220,23,1,1 +BRDA:229,24,0,0 +BRDA:229,24,1,1 +BRDA:236,25,0,0 +BRDA:236,25,1,1 +BRDA:248,26,0,0 +BRDA:248,26,1,1 +BRDA:259,27,0,0 +BRDA:259,27,1,1 +BRDA:266,28,0,0 +BRDA:266,28,1,1 +BRDA:271,29,0,0 +BRDA:271,29,1,1 +BRDA:284,30,0,0 +BRDA:284,30,1,1 +BRDA:302,31,0,0 +BRDA:302,31,1,1 +BRDA:308,32,0,0 +BRDA:308,32,1,1 +BRDA:316,33,0,0 +BRDA:316,33,1,1 +BRDA:325,34,0,0 +BRDA:325,34,1,1 +BRDA:336,35,0,0 +BRDA:336,35,1,1 +BRDA:348,36,0,0 +BRDA:348,36,1,1 +BRDA:354,37,0,0 +BRDA:423,38,0,0 +BRDA:423,38,1,0 +BRDA:428,39,0,0 +BRDA:428,39,1,0 +BRF:78 +BRH:35 +end_of_record +TN: +SF:pages/index.js +FN:8,Index +FN:11,(anonymous_5) +FN:188,(anonymous_6) +FNF:3 +FNH:2 +FNDA:1,Index +FNDA:1,(anonymous_5) +FNDA:0,(anonymous_6) +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:8,1 +DA:9,1 +DA:11,1 +DA:12,1 +DA:13,0 +DA:14,0 +DA:16,1 +DA:188,1 +LF:14 +LH:12 +BRDA:12,0,0,0 +BRDA:13,1,0,0 +BRDA:13,1,1,0 +BRDA:47,2,0,0 +BRDA:47,2,1,1 +BRDA:190,3,0,0 +BRDA:190,3,1,0 +BRDA:191,4,0,0 +BRDA:191,4,1,0 +BRF:9 +BRH:1 +end_of_record +TN: +SF:pages/notsupported.js +FN:10,notSupported +FN:16,(anonymous_5) +FN:23,onClickEn +FN:28,onClickFr +FN:470,(anonymous_8) +FNF:5 +FNH:2 +FNDA:1,notSupported +FNDA:1,(anonymous_5) +FNDA:0,onClickEn +FNDA:0,onClickFr +FNDA:0,(anonymous_8) +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:8,1 +DA:10,1 +DA:11,1 +DA:12,1 +DA:13,1 +DA:14,1 +DA:16,1 +DA:17,1 +DA:18,0 +DA:19,0 +DA:24,0 +DA:25,0 +DA:29,0 +DA:30,0 +DA:470,1 +DA:471,0 +DA:473,0 +LF:23 +LH:15 +BRDA:17,0,0,0 +BRDA:18,1,0,0 +BRDA:18,1,1,0 +BRDA:72,2,0,0 +BRDA:72,2,1,1 +BRDA:78,3,0,0 +BRDA:78,3,1,1 +BRDA:153,4,0,0 +BRDA:153,4,1,1 +BRDA:158,5,0,0 +BRDA:158,5,1,1 +BRDA:181,6,0,0 +BRDA:181,6,1,1 +BRDA:209,7,0,0 +BRDA:209,7,1,1 +BRDA:214,8,0,0 +BRDA:214,8,1,1 +BRDA:228,9,0,0 +BRDA:228,9,1,1 +BRDA:233,10,0,0 +BRDA:233,10,1,1 +BRDA:247,11,0,0 +BRDA:247,11,1,1 +BRDA:252,12,0,0 +BRDA:252,12,1,1 +BRDA:266,13,0,0 +BRDA:266,13,1,1 +BRDA:271,14,0,0 +BRDA:271,14,1,1 +BRDA:292,15,0,0 +BRDA:292,15,1,1 +BRDA:293,16,0,0 +BRDA:293,16,1,1 +BRDA:368,17,0,0 +BRDA:368,17,1,1 +BRDA:370,18,0,0 +BRDA:370,18,1,1 +BRDA:452,19,0,0 +BRDA:452,19,1,1 +BRDA:457,20,0,0 +BRDA:457,20,1,1 +BRDA:476,21,0,0 +BRDA:476,21,1,0 +BRF:43 +BRH:19 +end_of_record +TN: +SF:pages/api/healthcheck.js +FN:2,handler +FNF:1 +FNH:0 +FNDA:0,handler +DA:2,0 +DA:3,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:pages/api/report-a-problem.js +FN:7,handler +FNF:1 +FNH:1 +FNDA:5,handler +DA:1,1 +DA:8,5 +DA:10,5 +DA:14,2 +DA:16,3 +DA:17,3 +DA:46,2 +DA:47,1 +DA:49,1 +DA:50,1 +DA:53,1 +DA:54,1 +DA:58,0 +DA:59,0 +DA:63,5 +LF:15 +LH:13 +BRDA:8,0,0,5 +BRDA:8,0,1,0 +BRDA:10,1,0,2 +BRDA:10,1,1,3 +BRDA:11,2,0,5 +BRDA:11,2,1,4 +BRDA:20,3,0,3 +BRDA:20,3,1,0 +BRDA:46,4,0,1 +BRDA:46,4,1,1 +BRF:10 +BRH:8 +end_of_record +TN: +SF:pages/api/robots.js +FN:7,handler +FNF:1 +FNH:1 +FNDA:2,handler +DA:7,2 +DA:8,2 +DA:9,1 +DA:10,1 +DA:11,1 +DA:12,1 +DA:13,1 +DA:14,1 +DA:16,1 +DA:17,1 +DA:19,2 +LF:11 +LH:11 +BRDA:8,0,0,1 +BRDA:8,0,1,1 +BRF:2 +BRH:2 +end_of_record +TN: +SF:pages/api/submit-feedback.js +FN:3,handler +FNF:1 +FNH:1 +FNDA:3,handler +DA:1,1 +DA:3,3 +DA:4,3 +DA:5,3 +DA:6,1 +DA:8,2 +DA:9,2 +DA:10,2 +DA:11,1 +DA:13,1 +DA:16,1 +DA:17,1 +LF:12 +LH:12 +BRDA:5,0,0,1 +BRDA:5,0,1,2 +BRDA:10,1,0,1 +BRDA:10,1,1,1 +BRF:4 +BRH:4 +end_of_record +TN: +SF:pages/projects/benefits-finder/[id].js +FN:11,BenefitFinderArticles +FN:15,(anonymous_6) +FN:86,getStaticPaths +FN:93,(anonymous_8) +FN:100,(anonymous_9) +FN:111,(anonymous_10) +FNF:6 +FNH:0 +FNDA:0,BenefitFinderArticles +FNDA:0,(anonymous_6) +FNDA:0,getStaticPaths +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +DA:1,0 +DA:2,0 +DA:3,0 +DA:4,0 +DA:5,0 +DA:6,0 +DA:7,0 +DA:8,0 +DA:9,0 +DA:11,0 +DA:12,0 +DA:13,0 +DA:15,0 +DA:16,0 +DA:17,0 +DA:18,0 +DA:86,0 +DA:88,0 +DA:92,0 +DA:93,0 +DA:94,0 +DA:100,0 +DA:102,0 +DA:106,0 +DA:109,0 +DA:111,0 +DA:112,0 +DA:119,0 +DA:120,0 +DA:125,0 +LF:30 +LH:0 +BRDA:16,0,0,0 +BRDA:17,1,0,0 +BRDA:17,1,1,0 +BRDA:27,2,0,0 +BRDA:27,2,1,0 +BRDA:42,3,0,0 +BRDA:42,3,1,0 +BRDA:48,4,0,0 +BRDA:48,4,1,0 +BRDA:51,5,0,0 +BRDA:51,5,1,0 +BRDA:60,6,0,0 +BRDA:60,6,1,0 +BRDA:63,7,0,0 +BRDA:63,7,1,0 +BRDA:113,8,0,0 +BRDA:113,8,1,0 +BRDA:119,9,0,0 +BRDA:119,10,0,0 +BRDA:119,10,1,0 +BRDA:130,11,0,0 +BRDA:130,11,1,0 +BRDA:133,12,0,0 +BRDA:133,12,1,0 +BRF:24 +BRH:0 +end_of_record +TN: +SF:pages/projects/benefits-finder/index.js +FN:15,BenefitsFinderOverview +FN:20,(anonymous_5) +FN:28,(anonymous_6) +FN:55,(anonymous_7) +FN:367,(anonymous_8) +FNF:5 +FNH:4 +FNDA:2,BenefitsFinderOverview +FNDA:21,(anonymous_5) +FNDA:2,(anonymous_6) +FNDA:1,(anonymous_7) +FNDA:0,(anonymous_8) +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:7,1 +DA:8,1 +DA:9,1 +DA:10,1 +DA:11,1 +DA:12,1 +DA:13,1 +DA:15,1 +DA:16,2 +DA:17,1 +DA:18,1 +DA:21,21 +DA:28,1 +DA:29,2 +DA:55,1 +DA:56,1 +DA:57,0 +DA:58,0 +DA:367,1 +DA:369,0 +DA:373,0 +DA:377,0 +LF:28 +LH:23 +BRDA:21,0,0,21 +BRDA:21,0,1,20 +BRDA:21,0,2,19 +BRDA:21,0,3,18 +BRDA:33,1,0,0 +BRDA:33,1,1,2 +BRDA:38,2,0,0 +BRDA:38,2,1,2 +BRDA:44,3,0,0 +BRDA:44,3,1,2 +BRDA:45,4,0,0 +BRDA:45,4,1,2 +BRDA:47,5,0,0 +BRDA:47,5,1,2 +BRDA:56,6,0,0 +BRDA:57,7,0,0 +BRDA:57,7,1,0 +BRDA:67,8,0,0 +BRDA:67,8,1,1 +BRDA:78,9,0,0 +BRDA:78,9,1,1 +BRDA:85,10,0,0 +BRDA:85,10,1,1 +BRDA:97,11,0,0 +BRDA:97,11,1,1 +BRDA:107,12,0,0 +BRDA:107,12,1,1 +BRDA:117,13,0,0 +BRDA:117,13,1,1 +BRDA:122,14,0,0 +BRDA:122,14,1,1 +BRDA:128,15,0,0 +BRDA:128,15,1,1 +BRDA:144,16,0,0 +BRDA:144,16,1,1 +BRDA:164,17,0,0 +BRDA:164,17,1,1 +BRDA:173,18,0,0 +BRDA:173,18,1,1 +BRDA:179,19,0,0 +BRDA:179,19,1,1 +BRDA:191,20,0,0 +BRDA:191,20,1,1 +BRDA:204,21,0,0 +BRDA:204,21,1,1 +BRDA:213,22,0,0 +BRDA:213,22,1,1 +BRDA:220,23,0,0 +BRDA:220,23,1,1 +BRDA:232,24,0,0 +BRDA:232,24,1,1 +BRDA:247,25,0,0 +BRDA:247,25,1,1 +BRDA:258,26,0,0 +BRDA:258,26,1,1 +BRDA:263,27,0,0 +BRDA:263,27,1,1 +BRDA:277,28,0,0 +BRDA:277,28,1,1 +BRDA:286,29,0,0 +BRDA:286,29,1,1 +BRDA:291,30,0,0 +BRDA:291,30,1,1 +BRDA:296,31,0,0 +BRDA:296,31,1,1 +BRDA:304,32,0,0 +BRDA:304,32,1,1 +BRDA:311,33,0,0 +BRDA:311,33,1,1 +BRDA:318,34,0,0 +BRDA:318,34,1,1 +BRDA:323,35,0,0 +BRDA:323,35,1,1 +BRDA:328,36,0,0 +BRDA:328,36,1,1 +BRDA:335,37,0,0 +BRDA:335,37,1,1 +BRDA:349,38,0,0 +BRDA:352,39,0,0 +BRDA:352,39,1,1 +BRDA:380,40,0,0 +BRDA:380,40,1,0 +BRDA:386,41,0,0 +BRDA:386,41,1,0 +BRF:84 +BRH:40 +end_of_record +TN: +SF:pages/projects/benefits-navigator/[id].js +FN:11,BenefitNavigatorArticles +FN:15,(anonymous_6) +FN:86,getStaticPaths +FN:93,(anonymous_8) +FN:100,(anonymous_9) +FN:111,(anonymous_10) +FNF:6 +FNH:0 +FNDA:0,BenefitNavigatorArticles +FNDA:0,(anonymous_6) +FNDA:0,getStaticPaths +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +DA:1,0 +DA:2,0 +DA:3,0 +DA:4,0 +DA:5,0 +DA:6,0 +DA:7,0 +DA:8,0 +DA:9,0 +DA:11,0 +DA:12,0 +DA:13,0 +DA:15,0 +DA:16,0 +DA:17,0 +DA:18,0 +DA:86,0 +DA:88,0 +DA:92,0 +DA:93,0 +DA:94,0 +DA:100,0 +DA:102,0 +DA:106,0 +DA:109,0 +DA:111,0 +DA:112,0 +DA:119,0 +DA:120,0 +DA:125,0 +LF:30 +LH:0 +BRDA:16,0,0,0 +BRDA:17,1,0,0 +BRDA:17,1,1,0 +BRDA:27,2,0,0 +BRDA:27,2,1,0 +BRDA:42,3,0,0 +BRDA:42,3,1,0 +BRDA:48,4,0,0 +BRDA:48,4,1,0 +BRDA:51,5,0,0 +BRDA:51,5,1,0 +BRDA:60,6,0,0 +BRDA:60,6,1,0 +BRDA:63,7,0,0 +BRDA:63,7,1,0 +BRDA:113,8,0,0 +BRDA:113,8,1,0 +BRDA:119,9,0,0 +BRDA:119,10,0,0 +BRDA:119,10,1,0 +BRDA:130,11,0,0 +BRDA:130,11,1,0 +BRDA:133,12,0,0 +BRDA:133,12,1,0 +BRF:24 +BRH:0 +end_of_record +TN: +SF:pages/projects/benefits-navigator/index.js +FN:17,BenefitsNavigatorOverview +FN:22,(anonymous_5) +FN:30,(anonymous_6) +FN:57,(anonymous_7) +FN:632,(anonymous_8) +FNF:5 +FNH:4 +FNDA:2,BenefitsNavigatorOverview +FNDA:21,(anonymous_5) +FNDA:2,(anonymous_6) +FNDA:1,(anonymous_7) +FNDA:0,(anonymous_8) +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:7,1 +DA:8,1 +DA:9,1 +DA:10,1 +DA:11,1 +DA:12,1 +DA:13,1 +DA:14,1 +DA:15,1 +DA:17,1 +DA:18,2 +DA:19,1 +DA:20,1 +DA:23,21 +DA:30,1 +DA:31,2 +DA:57,1 +DA:58,1 +DA:59,0 +DA:60,0 +DA:632,1 +DA:634,0 +DA:638,0 +DA:642,0 +LF:30 +LH:25 +BRDA:23,0,0,21 +BRDA:23,0,1,20 +BRDA:23,0,2,19 +BRDA:23,0,3,18 +BRDA:35,1,0,0 +BRDA:35,1,1,2 +BRDA:40,2,0,0 +BRDA:40,2,1,2 +BRDA:46,3,0,0 +BRDA:46,3,1,2 +BRDA:47,4,0,0 +BRDA:47,4,1,2 +BRDA:49,5,0,0 +BRDA:49,5,1,2 +BRDA:58,6,0,0 +BRDA:59,7,0,0 +BRDA:59,7,1,0 +BRDA:69,8,0,0 +BRDA:69,8,1,1 +BRDA:80,9,0,0 +BRDA:80,9,1,1 +BRDA:87,10,0,0 +BRDA:87,10,1,1 +BRDA:99,11,0,0 +BRDA:99,11,1,1 +BRDA:109,12,0,0 +BRDA:109,12,1,1 +BRDA:119,13,0,0 +BRDA:119,13,1,1 +BRDA:124,14,0,0 +BRDA:124,14,1,1 +BRDA:130,15,0,0 +BRDA:130,15,1,1 +BRDA:146,16,0,0 +BRDA:146,16,1,1 +BRDA:166,17,0,0 +BRDA:166,17,1,1 +BRDA:175,18,0,0 +BRDA:175,18,1,1 +BRDA:181,19,0,0 +BRDA:181,19,1,1 +BRDA:193,20,0,0 +BRDA:193,20,1,1 +BRDA:206,21,0,0 +BRDA:206,21,1,1 +BRDA:215,22,0,0 +BRDA:215,22,1,1 +BRDA:222,23,0,0 +BRDA:222,23,1,1 +BRDA:234,24,0,0 +BRDA:234,24,1,1 +BRDA:249,25,0,0 +BRDA:249,25,1,1 +BRDA:259,26,0,0 +BRDA:259,26,1,1 +BRDA:266,27,0,0 +BRDA:266,27,1,1 +BRDA:282,28,0,0 +BRDA:282,28,1,1 +BRDA:287,29,0,0 +BRDA:287,29,1,1 +BRDA:301,30,0,0 +BRDA:301,30,1,1 +BRDA:310,31,0,0 +BRDA:310,31,1,1 +BRDA:315,32,0,0 +BRDA:315,32,1,1 +BRDA:320,33,0,0 +BRDA:320,33,1,1 +BRDA:328,34,0,0 +BRDA:328,34,1,1 +BRDA:335,35,0,0 +BRDA:335,35,1,1 +BRDA:342,36,0,0 +BRDA:342,36,1,1 +BRDA:347,37,0,0 +BRDA:347,37,1,1 +BRDA:352,38,0,0 +BRDA:352,38,1,1 +BRDA:364,39,0,0 +BRDA:364,39,1,1 +BRDA:369,40,0,0 +BRDA:369,40,1,1 +BRDA:374,41,0,0 +BRDA:374,41,1,1 +BRDA:380,42,0,0 +BRDA:380,42,1,1 +BRDA:387,43,0,0 +BRDA:387,43,1,1 +BRDA:394,44,0,0 +BRDA:394,44,1,1 +BRDA:402,45,0,0 +BRDA:402,45,1,1 +BRDA:408,46,0,0 +BRDA:408,46,1,1 +BRDA:417,47,0,0 +BRDA:417,47,1,1 +BRDA:424,48,0,0 +BRDA:424,48,1,1 +BRDA:446,49,0,0 +BRDA:446,49,1,1 +BRDA:459,50,0,0 +BRDA:459,50,1,1 +BRDA:468,51,0,0 +BRDA:468,51,1,1 +BRDA:483,52,0,0 +BRDA:483,52,1,1 +BRDA:490,53,0,0 +BRDA:490,53,1,1 +BRDA:512,54,0,0 +BRDA:512,54,1,1 +BRDA:525,55,0,0 +BRDA:525,55,1,1 +BRDA:534,56,0,0 +BRDA:534,56,1,1 +BRDA:549,57,0,0 +BRDA:549,57,1,1 +BRDA:556,58,0,0 +BRDA:556,58,1,1 +BRDA:578,59,0,0 +BRDA:578,59,1,1 +BRDA:591,60,0,0 +BRDA:591,60,1,1 +BRDA:600,61,0,0 +BRDA:600,61,1,1 +BRDA:614,62,0,0 +BRDA:617,63,0,0 +BRDA:617,63,1,1 +BRDA:645,64,0,0 +BRDA:645,64,1,0 +BRDA:651,65,0,0 +BRDA:651,65,1,0 +BRF:132 +BRH:64 +end_of_record +TN: +SF:pages/projects/dashboard/[id].js +FN:11,MscaDashboardArticles +FN:15,(anonymous_6) +FN:86,getStaticPaths +FN:93,(anonymous_8) +FN:100,(anonymous_9) +FN:111,(anonymous_10) +FNF:6 +FNH:0 +FNDA:0,MscaDashboardArticles +FNDA:0,(anonymous_6) +FNDA:0,getStaticPaths +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +DA:1,0 +DA:2,0 +DA:3,0 +DA:4,0 +DA:5,0 +DA:6,0 +DA:7,0 +DA:8,0 +DA:9,0 +DA:11,0 +DA:12,0 +DA:13,0 +DA:15,0 +DA:16,0 +DA:17,0 +DA:18,0 +DA:86,0 +DA:88,0 +DA:92,0 +DA:93,0 +DA:94,0 +DA:100,0 +DA:102,0 +DA:106,0 +DA:109,0 +DA:111,0 +DA:112,0 +DA:119,0 +DA:120,0 +DA:125,0 +LF:30 +LH:0 +BRDA:16,0,0,0 +BRDA:17,1,0,0 +BRDA:17,1,1,0 +BRDA:27,2,0,0 +BRDA:27,2,1,0 +BRDA:42,3,0,0 +BRDA:42,3,1,0 +BRDA:48,4,0,0 +BRDA:48,4,1,0 +BRDA:51,5,0,0 +BRDA:51,5,1,0 +BRDA:60,6,0,0 +BRDA:60,6,1,0 +BRDA:63,7,0,0 +BRDA:63,7,1,0 +BRDA:113,8,0,0 +BRDA:113,8,1,0 +BRDA:119,9,0,0 +BRDA:119,10,0,0 +BRDA:119,10,1,0 +BRDA:130,11,0,0 +BRDA:130,11,1,0 +BRDA:133,12,0,0 +BRDA:133,12,1,0 +BRF:24 +BRH:0 +end_of_record +TN: +SF:pages/projects/dashboard/index.js +FN:18,MscaDashboard +FN:23,(anonymous_5) +FN:30,(anonymous_6) +FN:57,(anonymous_7) +FN:361,(anonymous_8) +FNF:5 +FNH:4 +FNDA:2,MscaDashboard +FNDA:21,(anonymous_5) +FNDA:1,(anonymous_6) +FNDA:1,(anonymous_7) +FNDA:0,(anonymous_8) +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:7,1 +DA:8,1 +DA:9,1 +DA:10,1 +DA:11,1 +DA:12,1 +DA:13,1 +DA:14,1 +DA:15,1 +DA:16,1 +DA:18,1 +DA:19,2 +DA:20,1 +DA:22,1 +DA:24,21 +DA:30,1 +DA:31,1 +DA:57,1 +DA:58,1 +DA:59,0 +DA:60,0 +DA:361,1 +DA:363,0 +DA:367,0 +DA:371,0 +LF:31 +LH:26 +BRDA:24,0,0,21 +BRDA:24,0,1,20 +BRDA:24,0,2,19 +BRDA:24,0,3,18 +BRDA:35,1,0,0 +BRDA:35,1,1,1 +BRDA:40,2,0,0 +BRDA:40,2,1,1 +BRDA:46,3,0,0 +BRDA:46,3,1,1 +BRDA:47,4,0,0 +BRDA:47,4,1,1 +BRDA:49,5,0,0 +BRDA:49,5,1,1 +BRDA:58,6,0,0 +BRDA:59,7,0,0 +BRDA:59,7,1,0 +BRDA:69,8,0,0 +BRDA:69,8,1,1 +BRDA:80,9,0,0 +BRDA:80,9,1,1 +BRDA:87,10,0,0 +BRDA:87,10,1,1 +BRDA:99,11,0,0 +BRDA:99,11,1,1 +BRDA:109,12,0,0 +BRDA:109,12,1,1 +BRDA:119,13,0,0 +BRDA:119,13,1,1 +BRDA:124,14,0,0 +BRDA:124,14,1,1 +BRDA:130,15,0,0 +BRDA:130,15,1,1 +BRDA:146,16,0,0 +BRDA:146,16,1,1 +BRDA:166,17,0,0 +BRDA:166,17,1,1 +BRDA:175,18,0,0 +BRDA:175,18,1,1 +BRDA:181,19,0,0 +BRDA:181,19,1,1 +BRDA:193,20,0,0 +BRDA:193,20,1,1 +BRDA:204,21,0,0 +BRDA:204,21,1,1 +BRDA:213,22,0,0 +BRDA:213,22,1,1 +BRDA:220,23,0,0 +BRDA:220,23,1,1 +BRDA:232,24,0,0 +BRDA:232,24,1,1 +BRDA:245,25,0,0 +BRDA:245,25,1,1 +BRDA:256,26,0,0 +BRDA:256,26,1,1 +BRDA:261,27,0,1 +BRDA:261,27,1,1 +BRDA:261,28,0,0 +BRDA:261,28,1,1 +BRDA:275,29,0,0 +BRDA:275,29,1,1 +BRDA:284,30,0,0 +BRDA:284,30,1,1 +BRDA:289,31,0,0 +BRDA:289,31,1,1 +BRDA:294,32,0,0 +BRDA:294,32,1,1 +BRDA:302,33,0,0 +BRDA:302,33,1,1 +BRDA:309,34,0,0 +BRDA:309,34,1,1 +BRDA:316,35,0,0 +BRDA:316,35,1,1 +BRDA:321,36,0,0 +BRDA:321,36,1,1 +BRDA:326,37,0,0 +BRDA:326,37,1,1 +BRDA:344,38,0,0 +BRDA:347,39,0,0 +BRDA:347,39,1,1 +BRDA:374,40,0,0 +BRDA:374,40,1,0 +BRDA:380,41,0,0 +BRDA:380,41,1,0 +BRF:84 +BRH:41 +end_of_record +TN: +SF:pages/projects/digital-standards-playbook/[id].js +FN:12,DigitalStandardsArticles +FN:17,(anonymous_6) +FN:88,getStaticPaths +FN:96,(anonymous_8) +FN:103,(anonymous_9) +FN:114,(anonymous_10) +FNF:6 +FNH:0 +FNDA:0,DigitalStandardsArticles +FNDA:0,(anonymous_6) +FNDA:0,getStaticPaths +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +DA:1,0 +DA:2,0 +DA:3,0 +DA:4,0 +DA:5,0 +DA:6,0 +DA:7,0 +DA:8,0 +DA:9,0 +DA:10,0 +DA:12,0 +DA:13,0 +DA:14,0 +DA:15,0 +DA:17,0 +DA:18,0 +DA:19,0 +DA:20,0 +DA:88,0 +DA:90,0 +DA:94,0 +DA:96,0 +DA:97,0 +DA:103,0 +DA:105,0 +DA:109,0 +DA:112,0 +DA:114,0 +DA:115,0 +DA:122,0 +DA:123,0 +DA:128,0 +LF:32 +LH:0 +BRDA:18,0,0,0 +BRDA:19,1,0,0 +BRDA:19,1,1,0 +BRDA:29,2,0,0 +BRDA:29,2,1,0 +BRDA:44,3,0,0 +BRDA:44,3,1,0 +BRDA:50,4,0,0 +BRDA:50,4,1,0 +BRDA:53,5,0,0 +BRDA:53,5,1,0 +BRDA:62,6,0,0 +BRDA:62,6,1,0 +BRDA:65,7,0,0 +BRDA:65,7,1,0 +BRDA:116,8,0,0 +BRDA:116,8,1,0 +BRDA:122,9,0,0 +BRDA:122,10,0,0 +BRDA:122,10,1,0 +BRDA:133,11,0,0 +BRDA:133,11,1,0 +BRDA:136,12,0,0 +BRDA:136,12,1,0 +BRF:24 +BRH:0 +end_of_record +TN: +SF:pages/projects/digital-standards-playbook/index.js +FN:15,DigitalStandardsPlaybookPage +FN:20,(anonymous_5) +FN:27,(anonymous_6) +FN:54,(anonymous_7) +FN:463,(anonymous_8) +FNF:5 +FNH:4 +FNDA:2,DigitalStandardsPlaybookPage +FNDA:21,(anonymous_5) +FNDA:1,(anonymous_6) +FNDA:1,(anonymous_7) +FNDA:0,(anonymous_8) +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:7,1 +DA:8,1 +DA:9,1 +DA:10,1 +DA:11,1 +DA:12,1 +DA:13,1 +DA:15,1 +DA:16,2 +DA:17,1 +DA:19,1 +DA:21,21 +DA:27,1 +DA:28,1 +DA:54,1 +DA:55,1 +DA:56,0 +DA:57,0 +DA:463,1 +DA:465,0 +DA:469,0 +DA:473,0 +LF:28 +LH:23 +BRDA:21,0,0,21 +BRDA:21,0,1,20 +BRDA:21,0,2,19 +BRDA:21,0,3,18 +BRDA:32,1,0,0 +BRDA:32,1,1,1 +BRDA:37,2,0,0 +BRDA:37,2,1,1 +BRDA:43,3,0,0 +BRDA:43,3,1,1 +BRDA:44,4,0,0 +BRDA:44,4,1,1 +BRDA:46,5,0,0 +BRDA:46,5,1,1 +BRDA:55,6,0,0 +BRDA:56,7,0,0 +BRDA:56,7,1,0 +BRDA:66,8,0,0 +BRDA:66,8,1,1 +BRDA:68,9,0,1 +BRDA:68,9,1,1 +BRDA:77,10,0,0 +BRDA:77,10,1,1 +BRDA:84,11,0,0 +BRDA:84,11,1,1 +BRDA:96,12,0,0 +BRDA:96,12,1,1 +BRDA:106,13,0,0 +BRDA:106,13,1,1 +BRDA:116,14,0,0 +BRDA:116,14,1,1 +BRDA:121,15,0,0 +BRDA:121,15,1,1 +BRDA:127,16,0,0 +BRDA:127,16,1,1 +BRDA:143,17,0,0 +BRDA:143,17,1,1 +BRDA:163,18,0,0 +BRDA:163,18,1,1 +BRDA:172,19,0,0 +BRDA:172,19,1,1 +BRDA:178,20,0,0 +BRDA:178,20,1,1 +BRDA:190,21,0,0 +BRDA:190,21,1,1 +BRDA:201,22,0,0 +BRDA:201,22,1,1 +BRDA:210,23,0,0 +BRDA:210,23,1,1 +BRDA:217,24,0,0 +BRDA:217,24,1,1 +BRDA:229,25,0,0 +BRDA:229,25,1,1 +BRDA:242,26,0,0 +BRDA:242,26,1,1 +BRDA:253,27,0,0 +BRDA:253,27,1,1 +BRDA:258,28,0,1 +BRDA:258,28,1,1 +BRDA:258,29,0,0 +BRDA:258,29,1,1 +BRDA:272,30,0,0 +BRDA:272,30,1,1 +BRDA:281,31,0,0 +BRDA:281,31,1,1 +BRDA:286,32,0,0 +BRDA:286,32,1,1 +BRDA:291,33,0,0 +BRDA:291,33,1,1 +BRDA:299,34,0,0 +BRDA:299,34,1,1 +BRDA:306,35,0,0 +BRDA:306,35,1,1 +BRDA:313,36,0,0 +BRDA:313,36,1,1 +BRDA:318,37,0,0 +BRDA:318,37,1,1 +BRDA:323,38,0,0 +BRDA:323,38,1,1 +BRDA:336,39,0,0 +BRDA:336,39,1,1 +BRDA:342,40,0,0 +BRDA:342,40,1,1 +BRDA:348,41,0,0 +BRDA:348,41,1,1 +BRDA:355,42,0,0 +BRDA:355,42,1,1 +BRDA:361,43,0,0 +BRDA:361,43,1,1 +BRDA:368,44,0,0 +BRDA:368,44,1,1 +BRDA:375,45,0,0 +BRDA:375,45,1,1 +BRDA:381,46,0,0 +BRDA:381,46,1,1 +BRDA:387,47,0,0 +BRDA:387,47,1,1 +BRDA:399,48,0,0 +BRDA:399,48,1,1 +BRDA:404,49,0,0 +BRDA:404,49,1,1 +BRDA:412,50,0,0 +BRDA:412,50,1,1 +BRDA:419,51,0,0 +BRDA:419,51,1,1 +BRDA:426,52,0,0 +BRDA:426,52,1,1 +BRDA:432,53,0,0 +BRDA:432,53,1,1 +BRDA:438,54,0,0 +BRDA:438,54,1,1 +BRDA:445,55,0,0 +BRDA:448,56,0,0 +BRDA:448,56,1,1 +BRDA:476,57,0,0 +BRDA:476,57,1,0 +BRDA:482,58,0,0 +BRDA:482,58,1,0 +BRF:118 +BRH:59 +end_of_record +TN: +SF:pages/projects/making-easier-get-benefits/[id].js +FN:12,IntegratedChannelStrategyArticles +FN:17,(anonymous_6) +FN:88,getStaticPaths +FN:96,(anonymous_8) +FN:103,(anonymous_9) +FN:114,(anonymous_10) +FNF:6 +FNH:0 +FNDA:0,IntegratedChannelStrategyArticles +FNDA:0,(anonymous_6) +FNDA:0,getStaticPaths +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +DA:1,0 +DA:2,0 +DA:3,0 +DA:4,0 +DA:5,0 +DA:6,0 +DA:7,0 +DA:8,0 +DA:9,0 +DA:10,0 +DA:12,0 +DA:13,0 +DA:14,0 +DA:15,0 +DA:17,0 +DA:18,0 +DA:19,0 +DA:20,0 +DA:88,0 +DA:90,0 +DA:94,0 +DA:96,0 +DA:97,0 +DA:103,0 +DA:105,0 +DA:109,0 +DA:112,0 +DA:114,0 +DA:115,0 +DA:122,0 +DA:123,0 +DA:128,0 +LF:32 +LH:0 +BRDA:18,0,0,0 +BRDA:19,1,0,0 +BRDA:19,1,1,0 +BRDA:29,2,0,0 +BRDA:29,2,1,0 +BRDA:44,3,0,0 +BRDA:44,3,1,0 +BRDA:50,4,0,0 +BRDA:50,4,1,0 +BRDA:53,5,0,0 +BRDA:53,5,1,0 +BRDA:62,6,0,0 +BRDA:62,6,1,0 +BRDA:65,7,0,0 +BRDA:65,7,1,0 +BRDA:116,8,0,0 +BRDA:116,8,1,0 +BRDA:122,9,0,0 +BRDA:122,10,0,0 +BRDA:122,10,1,0 +BRDA:133,11,0,0 +BRDA:133,11,1,0 +BRDA:136,12,0,0 +BRDA:136,12,1,0 +BRF:24 +BRH:0 +end_of_record +TN: +SF:pages/projects/making-easier-get-benefits/index.js +FN:16,IntegratedChannelStrategyPage +FN:21,(anonymous_5) +FN:29,(anonymous_6) +FN:56,(anonymous_7) +FN:365,(anonymous_8) +FNF:5 +FNH:3 +FNDA:2,IntegratedChannelStrategyPage +FNDA:21,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:1,(anonymous_7) +FNDA:0,(anonymous_8) +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:7,1 +DA:8,1 +DA:9,1 +DA:10,1 +DA:11,1 +DA:12,1 +DA:13,1 +DA:14,1 +DA:16,1 +DA:17,2 +DA:18,1 +DA:19,1 +DA:22,21 +DA:29,1 +DA:30,0 +DA:56,1 +DA:57,1 +DA:58,0 +DA:59,0 +DA:365,1 +DA:367,0 +DA:371,0 +DA:375,0 +LF:29 +LH:23 +BRDA:22,0,0,21 +BRDA:22,0,1,20 +BRDA:22,0,2,19 +BRDA:22,0,3,18 +BRDA:34,1,0,0 +BRDA:34,1,1,0 +BRDA:39,2,0,0 +BRDA:39,2,1,0 +BRDA:39,3,0,0 +BRDA:39,3,1,0 +BRDA:45,4,0,0 +BRDA:45,4,1,0 +BRDA:46,5,0,0 +BRDA:46,5,1,0 +BRDA:48,6,0,0 +BRDA:48,6,1,0 +BRDA:57,7,0,0 +BRDA:58,8,0,0 +BRDA:58,8,1,0 +BRDA:68,9,0,0 +BRDA:68,9,1,1 +BRDA:79,10,0,0 +BRDA:79,10,1,1 +BRDA:86,11,0,0 +BRDA:86,11,1,1 +BRDA:98,12,0,0 +BRDA:98,12,1,1 +BRDA:108,13,0,0 +BRDA:108,13,1,1 +BRDA:118,14,0,0 +BRDA:118,14,1,1 +BRDA:123,15,0,0 +BRDA:123,15,1,1 +BRDA:129,16,0,0 +BRDA:129,16,1,1 +BRDA:145,17,0,0 +BRDA:145,17,1,1 +BRDA:165,18,0,0 +BRDA:165,18,1,1 +BRDA:174,19,0,0 +BRDA:174,19,1,1 +BRDA:180,20,0,0 +BRDA:180,20,1,1 +BRDA:192,21,0,0 +BRDA:192,21,1,1 +BRDA:203,22,0,0 +BRDA:203,22,1,1 +BRDA:212,23,0,0 +BRDA:212,23,1,1 +BRDA:219,24,0,0 +BRDA:219,24,1,1 +BRDA:231,25,0,0 +BRDA:231,25,1,1 +BRDA:244,26,0,0 +BRDA:244,26,1,1 +BRDA:255,27,0,0 +BRDA:255,27,1,1 +BRDA:260,28,0,1 +BRDA:260,28,1,0 +BRDA:260,29,0,0 +BRDA:260,29,1,1 +BRDA:274,30,0,0 +BRDA:274,30,1,1 +BRDA:283,31,0,0 +BRDA:283,31,1,1 +BRDA:288,32,0,0 +BRDA:288,32,1,1 +BRDA:293,33,0,0 +BRDA:293,33,1,1 +BRDA:301,34,0,0 +BRDA:301,34,1,1 +BRDA:308,35,0,0 +BRDA:308,35,1,1 +BRDA:315,36,0,0 +BRDA:315,36,1,1 +BRDA:320,37,0,0 +BRDA:320,37,1,1 +BRDA:325,38,0,0 +BRDA:325,38,1,1 +BRDA:339,39,0,0 +BRDA:339,39,1,1 +BRDA:347,40,0,1 +BRDA:350,41,0,0 +BRDA:350,41,1,0 +BRDA:378,42,0,0 +BRDA:378,42,1,0 +BRDA:384,43,0,0 +BRDA:384,43,1,0 +BRF:88 +BRH:36 +end_of_record +TN: +SF:pages/projects/oas-benefits-estimator/[id].js +FN:12,OASBenefitsEstimatorArticles +FN:17,(anonymous_6) +FN:88,getStaticPaths +FN:96,(anonymous_8) +FN:103,(anonymous_9) +FN:114,(anonymous_10) +FNF:6 +FNH:0 +FNDA:0,OASBenefitsEstimatorArticles +FNDA:0,(anonymous_6) +FNDA:0,getStaticPaths +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +DA:1,0 +DA:2,0 +DA:3,0 +DA:4,0 +DA:5,0 +DA:6,0 +DA:7,0 +DA:8,0 +DA:9,0 +DA:10,0 +DA:12,0 +DA:13,0 +DA:14,0 +DA:15,0 +DA:17,0 +DA:18,0 +DA:19,0 +DA:20,0 +DA:88,0 +DA:90,0 +DA:94,0 +DA:96,0 +DA:97,0 +DA:103,0 +DA:105,0 +DA:109,0 +DA:112,0 +DA:114,0 +DA:115,0 +DA:122,0 +DA:123,0 +DA:128,0 +LF:32 +LH:0 +BRDA:18,0,0,0 +BRDA:19,1,0,0 +BRDA:19,1,1,0 +BRDA:29,2,0,0 +BRDA:29,2,1,0 +BRDA:44,3,0,0 +BRDA:44,3,1,0 +BRDA:50,4,0,0 +BRDA:50,4,1,0 +BRDA:53,5,0,0 +BRDA:53,5,1,0 +BRDA:62,6,0,0 +BRDA:62,6,1,0 +BRDA:65,7,0,0 +BRDA:65,7,1,0 +BRDA:116,8,0,0 +BRDA:116,8,1,0 +BRDA:122,9,0,0 +BRDA:122,10,0,0 +BRDA:122,10,1,0 +BRDA:133,11,0,0 +BRDA:133,11,1,0 +BRDA:136,12,0,0 +BRDA:136,12,1,0 +BRF:24 +BRH:0 +end_of_record +TN: +SF:pages/projects/oas-benefits-estimator/index.js +FN:15,OasBenefitsEstimator +FN:20,(anonymous_5) +FN:28,(anonymous_6) +FN:55,(anonymous_7) +FN:417,(anonymous_8) +FNF:5 +FNH:4 +FNDA:2,OasBenefitsEstimator +FNDA:21,(anonymous_5) +FNDA:2,(anonymous_6) +FNDA:1,(anonymous_7) +FNDA:0,(anonymous_8) +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:7,1 +DA:8,1 +DA:9,1 +DA:10,1 +DA:11,1 +DA:12,1 +DA:13,1 +DA:15,1 +DA:16,2 +DA:17,1 +DA:18,1 +DA:21,21 +DA:28,1 +DA:29,2 +DA:55,1 +DA:56,1 +DA:57,0 +DA:58,0 +DA:417,1 +DA:419,0 +DA:423,0 +DA:427,0 +LF:28 +LH:23 +BRDA:21,0,0,21 +BRDA:21,0,1,20 +BRDA:21,0,2,19 +BRDA:21,0,3,18 +BRDA:33,1,0,0 +BRDA:33,1,1,2 +BRDA:38,2,0,2 +BRDA:38,2,1,0 +BRDA:38,3,0,0 +BRDA:38,3,1,2 +BRDA:44,4,0,0 +BRDA:44,4,1,2 +BRDA:45,5,0,0 +BRDA:45,5,1,2 +BRDA:47,6,0,0 +BRDA:47,6,1,2 +BRDA:56,7,0,0 +BRDA:57,8,0,0 +BRDA:57,8,1,0 +BRDA:67,9,0,0 +BRDA:67,9,1,1 +BRDA:78,10,0,0 +BRDA:78,10,1,1 +BRDA:85,11,0,0 +BRDA:85,11,1,1 +BRDA:97,12,0,0 +BRDA:97,12,1,1 +BRDA:107,13,0,0 +BRDA:107,13,1,1 +BRDA:117,14,0,0 +BRDA:117,14,1,1 +BRDA:122,15,0,0 +BRDA:122,15,1,1 +BRDA:128,16,0,0 +BRDA:128,16,1,1 +BRDA:144,17,0,0 +BRDA:144,17,1,1 +BRDA:164,18,0,0 +BRDA:164,18,1,1 +BRDA:173,19,0,0 +BRDA:173,19,1,1 +BRDA:179,20,0,0 +BRDA:179,20,1,1 +BRDA:191,21,0,0 +BRDA:191,21,1,1 +BRDA:202,22,0,0 +BRDA:202,22,1,1 +BRDA:211,23,0,0 +BRDA:211,23,1,1 +BRDA:218,24,0,0 +BRDA:218,24,1,1 +BRDA:230,25,0,0 +BRDA:230,25,1,1 +BRDA:243,26,0,0 +BRDA:243,26,1,1 +BRDA:254,27,0,0 +BRDA:254,27,1,1 +BRDA:259,28,0,1 +BRDA:259,28,1,0 +BRDA:259,29,0,0 +BRDA:259,29,1,1 +BRDA:273,30,0,0 +BRDA:273,30,1,1 +BRDA:282,31,0,0 +BRDA:282,31,1,1 +BRDA:287,32,0,0 +BRDA:287,32,1,1 +BRDA:292,33,0,0 +BRDA:292,33,1,1 +BRDA:300,34,0,0 +BRDA:300,34,1,1 +BRDA:307,35,0,0 +BRDA:307,35,1,1 +BRDA:314,36,0,0 +BRDA:314,36,1,1 +BRDA:319,37,0,0 +BRDA:319,37,1,1 +BRDA:324,38,0,0 +BRDA:324,38,1,1 +BRDA:336,39,0,0 +BRDA:336,39,1,1 +BRDA:345,40,0,0 +BRDA:345,40,1,1 +BRDA:350,41,0,0 +BRDA:350,41,1,1 +BRDA:357,42,0,0 +BRDA:357,42,1,1 +BRDA:362,43,0,0 +BRDA:362,43,1,1 +BRDA:367,44,0,0 +BRDA:367,44,1,1 +BRDA:372,45,0,0 +BRDA:372,45,1,1 +BRDA:378,46,0,0 +BRDA:378,46,1,1 +BRDA:387,47,0,0 +BRDA:387,47,1,1 +BRDA:392,48,0,0 +BRDA:392,48,1,1 +BRDA:399,49,0,0 +BRDA:402,50,0,0 +BRDA:402,50,1,1 +BRDA:430,51,0,0 +BRDA:430,51,1,0 +BRDA:436,52,0,0 +BRDA:436,52,1,0 +BRF:106 +BRH:51 +end_of_record