govuk_publishing_components 34.7.0 → 34.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (118) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-event-tracker.js +3 -10
  3. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-form-tracker.js +113 -0
  4. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-link-tracker.js +2 -11
  5. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-schemas.js +15 -1
  6. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-specialist-link-tracker.js +20 -29
  7. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4.js +1 -0
  8. data/app/models/govuk_publishing_components/component_doc.rb +14 -0
  9. data/app/models/govuk_publishing_components/component_wrapper_helper_options.rb +14 -0
  10. data/app/views/govuk_publishing_components/component_guide/show.html.erb +21 -6
  11. data/app/views/govuk_publishing_components/components/_action_link.html.erb +5 -2
  12. data/app/views/govuk_publishing_components/components/_breadcrumbs.html.erb +6 -2
  13. data/app/views/govuk_publishing_components/components/_details.html.erb +3 -1
  14. data/app/views/govuk_publishing_components/components/docs/action_link.yml +1 -0
  15. data/app/views/govuk_publishing_components/components/docs/breadcrumbs.yml +1 -0
  16. data/app/views/govuk_publishing_components/components/docs/details.yml +17 -0
  17. data/lib/govuk_publishing_components/presenters/component_wrapper_helper.rb +78 -0
  18. data/lib/govuk_publishing_components/presenters/related_navigation_helper.rb +0 -7
  19. data/lib/govuk_publishing_components/version.rb +1 -1
  20. data/lib/govuk_publishing_components.rb +1 -0
  21. data/node_modules/govuk-frontend/govuk/all.js +4029 -3792
  22. data/node_modules/govuk-frontend/govuk/all.js.map +1 -0
  23. data/node_modules/govuk-frontend/govuk/common/closest-attribute-value.js +52 -51
  24. data/node_modules/govuk-frontend/govuk/common/closest-attribute-value.js.map +1 -0
  25. data/node_modules/govuk-frontend/govuk/common/index.js +153 -145
  26. data/node_modules/govuk-frontend/govuk/common/index.js.map +1 -0
  27. data/node_modules/govuk-frontend/govuk/common/normalise-dataset.js +324 -321
  28. data/node_modules/govuk-frontend/govuk/common/normalise-dataset.js.map +1 -0
  29. data/node_modules/govuk-frontend/govuk/common.js +154 -146
  30. data/node_modules/govuk-frontend/govuk/common.js.map +1 -0
  31. data/node_modules/govuk-frontend/govuk/components/_all.scss +1 -1
  32. data/node_modules/govuk-frontend/govuk/components/accordion/_index.scss +23 -4
  33. data/node_modules/govuk-frontend/govuk/components/accordion/accordion.js +2059 -1654
  34. data/node_modules/govuk-frontend/govuk/components/accordion/accordion.js.map +1 -0
  35. data/node_modules/govuk-frontend/govuk/components/accordion/fixtures.json +11 -11
  36. data/node_modules/govuk-frontend/govuk/components/accordion/template.njk +1 -1
  37. data/node_modules/govuk-frontend/govuk/components/back-link/_index.scss +19 -19
  38. data/node_modules/govuk-frontend/govuk/components/breadcrumbs/_index.scss +21 -10
  39. data/node_modules/govuk-frontend/govuk/components/button/button.js +927 -917
  40. data/node_modules/govuk-frontend/govuk/components/button/button.js.map +1 -0
  41. data/node_modules/govuk-frontend/govuk/components/character-count/character-count.js +2050 -2040
  42. data/node_modules/govuk-frontend/govuk/components/character-count/character-count.js.map +1 -0
  43. data/node_modules/govuk-frontend/govuk/components/checkboxes/checkboxes.js +1155 -1147
  44. data/node_modules/govuk-frontend/govuk/components/checkboxes/checkboxes.js.map +1 -0
  45. data/node_modules/govuk-frontend/govuk/components/cookie-banner/fixtures.json +23 -23
  46. data/node_modules/govuk-frontend/govuk/components/cookie-banner/template.njk +1 -1
  47. data/node_modules/govuk-frontend/govuk/components/details/details.js +800 -799
  48. data/node_modules/govuk-frontend/govuk/components/details/details.js.map +1 -0
  49. data/node_modules/govuk-frontend/govuk/components/error-summary/error-summary.js +1058 -1045
  50. data/node_modules/govuk-frontend/govuk/components/error-summary/error-summary.js.map +1 -0
  51. data/node_modules/govuk-frontend/govuk/components/header/_index.scss +6 -0
  52. data/node_modules/govuk-frontend/govuk/components/header/header.js +646 -998
  53. data/node_modules/govuk-frontend/govuk/components/header/header.js.map +1 -0
  54. data/node_modules/govuk-frontend/govuk/components/notification-banner/notification-banner.js +760 -752
  55. data/node_modules/govuk-frontend/govuk/components/notification-banner/notification-banner.js.map +1 -0
  56. data/node_modules/govuk-frontend/govuk/components/pagination/fixtures.json +61 -0
  57. data/node_modules/govuk-frontend/govuk/components/pagination/template.njk +1 -1
  58. data/node_modules/govuk-frontend/govuk/components/phase-banner/macro-options.json +1 -1
  59. data/node_modules/govuk-frontend/govuk/components/radios/radios.js +1110 -1107
  60. data/node_modules/govuk-frontend/govuk/components/radios/radios.js.map +1 -0
  61. data/node_modules/govuk-frontend/govuk/components/skip-link/skip-link.js +1017 -1014
  62. data/node_modules/govuk-frontend/govuk/components/skip-link/skip-link.js.map +1 -0
  63. data/node_modules/govuk-frontend/govuk/components/summary-list/_index.scss +107 -0
  64. data/node_modules/govuk-frontend/govuk/components/summary-list/fixtures.json +318 -23
  65. data/node_modules/govuk-frontend/govuk/components/summary-list/macro-options.json +110 -0
  66. data/node_modules/govuk-frontend/govuk/components/summary-list/template.njk +72 -28
  67. data/node_modules/govuk-frontend/govuk/components/tabs/tabs.js +1392 -1264
  68. data/node_modules/govuk-frontend/govuk/components/tabs/tabs.js.map +1 -0
  69. data/node_modules/govuk-frontend/govuk/i18n.js +363 -364
  70. data/node_modules/govuk-frontend/govuk/i18n.js.map +1 -0
  71. data/node_modules/govuk-frontend/govuk/settings/_measurements.scss +5 -5
  72. data/node_modules/govuk-frontend/govuk/vendor/polyfills/DOMTokenList.js +242 -241
  73. data/node_modules/govuk-frontend/govuk/vendor/polyfills/DOMTokenList.js.map +1 -0
  74. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Date/now.js +13 -12
  75. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Date/now.js.map +1 -0
  76. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Document.js +17 -16
  77. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Document.js.map +1 -0
  78. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element/prototype/classList.js +547 -546
  79. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element/prototype/classList.js.map +1 -0
  80. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element/prototype/closest.js +37 -36
  81. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element/prototype/closest.js.map +1 -0
  82. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element/prototype/dataset.js +251 -250
  83. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element/prototype/dataset.js.map +1 -0
  84. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element/prototype/matches.js +21 -20
  85. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element/prototype/matches.js.map +1 -0
  86. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element/prototype/nextElementSibling.js +198 -197
  87. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element/prototype/nextElementSibling.js.map +1 -0
  88. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element/prototype/previousElementSibling.js +198 -197
  89. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element/prototype/previousElementSibling.js.map +1 -0
  90. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element.js +106 -105
  91. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element.js.map +1 -0
  92. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Event.js +400 -399
  93. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Event.js.map +1 -0
  94. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Function/prototype/bind.js +239 -238
  95. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Function/prototype/bind.js.map +1 -0
  96. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Object/defineProperty.js +72 -71
  97. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Object/defineProperty.js.map +1 -0
  98. data/node_modules/govuk-frontend/govuk/vendor/polyfills/String/prototype/trim.js +14 -13
  99. data/node_modules/govuk-frontend/govuk/vendor/polyfills/String/prototype/trim.js.map +1 -0
  100. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Window.js +17 -16
  101. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Window.js.map +1 -0
  102. data/node_modules/govuk-frontend/govuk-esm/all.mjs +2 -2
  103. data/node_modules/govuk-frontend/govuk-esm/common/index.mjs +17 -10
  104. data/node_modules/govuk-frontend/govuk-esm/common/normalise-dataset.mjs +3 -1
  105. data/node_modules/govuk-frontend/govuk-esm/components/accordion/accordion.mjs +135 -52
  106. data/node_modules/govuk-frontend/govuk-esm/components/button/button.mjs +11 -9
  107. data/node_modules/govuk-frontend/govuk-esm/components/character-count/character-count.mjs +10 -7
  108. data/node_modules/govuk-frontend/govuk-esm/components/checkboxes/checkboxes.mjs +24 -18
  109. data/node_modules/govuk-frontend/govuk-esm/components/details/details.mjs +23 -16
  110. data/node_modules/govuk-frontend/govuk-esm/components/error-summary/error-summary.mjs +15 -11
  111. data/node_modules/govuk-frontend/govuk-esm/components/header/header.mjs +3 -2
  112. data/node_modules/govuk-frontend/govuk-esm/components/notification-banner/notification-banner.mjs +3 -4
  113. data/node_modules/govuk-frontend/govuk-esm/components/radios/radios.mjs +10 -9
  114. data/node_modules/govuk-frontend/govuk-esm/components/skip-link/skip-link.mjs +5 -3
  115. data/node_modules/govuk-frontend/govuk-esm/components/tabs/tabs.mjs +165 -38
  116. data/node_modules/govuk-frontend/govuk-esm/i18n.mjs +9 -11
  117. data/node_modules/govuk-frontend/package.json +1 -1
  118. metadata +37 -2
@@ -4,144 +4,145 @@
4
4
  (factory());
5
5
  }(this, (function () { 'use strict';
6
6
 
7
- (function(undefined) {
7
+ (function(undefined) {
8
8
 
9
- // Detection from https://github.com/Financial-Times/polyfill-service/blob/master/packages/polyfill-library/polyfills/Document/detect.js
10
- var detect = ("Document" in this);
9
+ // Detection from https://github.com/Financial-Times/polyfill-service/blob/master/packages/polyfill-library/polyfills/Document/detect.js
10
+ var detect = ("Document" in this);
11
11
 
12
- if (detect) return
12
+ if (detect) return
13
13
 
14
- // Polyfill from https://cdn.polyfill.io/v2/polyfill.js?features=Document&flags=always
15
- if ((typeof WorkerGlobalScope === "undefined") && (typeof importScripts !== "function")) {
14
+ // Polyfill from https://cdn.polyfill.io/v2/polyfill.js?features=Document&flags=always
15
+ if ((typeof WorkerGlobalScope === "undefined") && (typeof importScripts !== "function")) {
16
16
 
17
- if (this.HTMLDocument) { // IE8
17
+ if (this.HTMLDocument) { // IE8
18
18
 
19
- // HTMLDocument is an extension of Document. If the browser has HTMLDocument but not Document, the former will suffice as an alias for the latter.
20
- this.Document = this.HTMLDocument;
19
+ // HTMLDocument is an extension of Document. If the browser has HTMLDocument but not Document, the former will suffice as an alias for the latter.
20
+ this.Document = this.HTMLDocument;
21
21
 
22
- } else {
22
+ } else {
23
23
 
24
- // Create an empty function to act as the missing constructor for the document object, attach the document object as its prototype. The function needs to be anonymous else it is hoisted and causes the feature detect to prematurely pass, preventing the assignments below being made.
25
- this.Document = this.HTMLDocument = document.constructor = (new Function('return function Document() {}')());
26
- this.Document.prototype = document;
24
+ // Create an empty function to act as the missing constructor for the document object, attach the document object as its prototype. The function needs to be anonymous else it is hoisted and causes the feature detect to prematurely pass, preventing the assignments below being made.
25
+ this.Document = this.HTMLDocument = document.constructor = (new Function('return function Document() {}')());
26
+ this.Document.prototype = document;
27
+ }
27
28
  }
28
- }
29
29
 
30
30
 
31
- })
32
- .call('object' === typeof window && window || 'object' === typeof self && self || 'object' === typeof global && global || {});
31
+ })
32
+ .call('object' === typeof window && window || 'object' === typeof self && self || 'object' === typeof global && global || {});
33
33
 
34
- (function(undefined) {
34
+ (function(undefined) {
35
35
 
36
- // Detection from https://github.com/Financial-Times/polyfill-service/blob/master/packages/polyfill-library/polyfills/Element/detect.js
37
- var detect = ('Element' in this && 'HTMLElement' in this);
36
+ // Detection from https://github.com/Financial-Times/polyfill-service/blob/master/packages/polyfill-library/polyfills/Element/detect.js
37
+ var detect = ('Element' in this && 'HTMLElement' in this);
38
38
 
39
- if (detect) return
39
+ if (detect) return
40
40
 
41
- // Polyfill from https://cdn.polyfill.io/v2/polyfill.js?features=Element&flags=always
42
- (function () {
41
+ // Polyfill from https://cdn.polyfill.io/v2/polyfill.js?features=Element&flags=always
42
+ (function () {
43
43
 
44
- // IE8
45
- if (window.Element && !window.HTMLElement) {
46
- window.HTMLElement = window.Element;
47
- return;
48
- }
44
+ // IE8
45
+ if (window.Element && !window.HTMLElement) {
46
+ window.HTMLElement = window.Element;
47
+ return;
48
+ }
49
49
 
50
- // create Element constructor
51
- window.Element = window.HTMLElement = new Function('return function Element() {}')();
50
+ // create Element constructor
51
+ window.Element = window.HTMLElement = new Function('return function Element() {}')();
52
52
 
53
- // generate sandboxed iframe
54
- var vbody = document.appendChild(document.createElement('body'));
55
- var frame = vbody.appendChild(document.createElement('iframe'));
53
+ // generate sandboxed iframe
54
+ var vbody = document.appendChild(document.createElement('body'));
55
+ var frame = vbody.appendChild(document.createElement('iframe'));
56
56
 
57
- // use sandboxed iframe to replicate Element functionality
58
- var frameDocument = frame.contentWindow.document;
59
- var prototype = Element.prototype = frameDocument.appendChild(frameDocument.createElement('*'));
60
- var cache = {};
57
+ // use sandboxed iframe to replicate Element functionality
58
+ var frameDocument = frame.contentWindow.document;
59
+ var prototype = Element.prototype = frameDocument.appendChild(frameDocument.createElement('*'));
60
+ var cache = {};
61
61
 
62
- // polyfill Element.prototype on an element
63
- var shiv = function (element, deep) {
64
- var
65
- childNodes = element.childNodes || [],
66
- index = -1,
67
- key, value, childNode;
62
+ // polyfill Element.prototype on an element
63
+ var shiv = function (element, deep) {
64
+ var
65
+ childNodes = element.childNodes || [],
66
+ index = -1,
67
+ key, value, childNode;
68
68
 
69
- if (element.nodeType === 1 && element.constructor !== Element) {
70
- element.constructor = Element;
69
+ if (element.nodeType === 1 && element.constructor !== Element) {
70
+ element.constructor = Element;
71
71
 
72
- for (key in cache) {
73
- value = cache[key];
74
- element[key] = value;
72
+ for (key in cache) {
73
+ value = cache[key];
74
+ element[key] = value;
75
+ }
75
76
  }
76
- }
77
77
 
78
- while (childNode = deep && childNodes[++index]) {
79
- shiv(childNode, deep);
80
- }
78
+ while (childNode = deep && childNodes[++index]) {
79
+ shiv(childNode, deep);
80
+ }
81
+
82
+ return element;
83
+ };
81
84
 
82
- return element;
83
- };
84
-
85
- var elements = document.getElementsByTagName('*');
86
- var nativeCreateElement = document.createElement;
87
- var interval;
88
- var loopLimit = 100;
89
-
90
- prototype.attachEvent('onpropertychange', function (event) {
91
- var
92
- propertyName = event.propertyName,
93
- nonValue = !cache.hasOwnProperty(propertyName),
94
- newValue = prototype[propertyName],
95
- oldValue = cache[propertyName],
96
- index = -1,
97
- element;
98
-
99
- while (element = elements[++index]) {
100
- if (element.nodeType === 1) {
101
- if (nonValue || element[propertyName] === oldValue) {
102
- element[propertyName] = newValue;
85
+ var elements = document.getElementsByTagName('*');
86
+ var nativeCreateElement = document.createElement;
87
+ var interval;
88
+ var loopLimit = 100;
89
+
90
+ prototype.attachEvent('onpropertychange', function (event) {
91
+ var
92
+ propertyName = event.propertyName,
93
+ nonValue = !cache.hasOwnProperty(propertyName),
94
+ newValue = prototype[propertyName],
95
+ oldValue = cache[propertyName],
96
+ index = -1,
97
+ element;
98
+
99
+ while (element = elements[++index]) {
100
+ if (element.nodeType === 1) {
101
+ if (nonValue || element[propertyName] === oldValue) {
102
+ element[propertyName] = newValue;
103
+ }
103
104
  }
104
105
  }
105
- }
106
106
 
107
- cache[propertyName] = newValue;
108
- });
107
+ cache[propertyName] = newValue;
108
+ });
109
109
 
110
- prototype.constructor = Element;
110
+ prototype.constructor = Element;
111
111
 
112
- if (!prototype.hasAttribute) {
113
- // <Element>.hasAttribute
114
- prototype.hasAttribute = function hasAttribute(name) {
115
- return this.getAttribute(name) !== null;
116
- };
117
- }
112
+ if (!prototype.hasAttribute) {
113
+ // <Element>.hasAttribute
114
+ prototype.hasAttribute = function hasAttribute(name) {
115
+ return this.getAttribute(name) !== null;
116
+ };
117
+ }
118
118
 
119
- // Apply Element prototype to the pre-existing DOM as soon as the body element appears.
120
- function bodyCheck() {
121
- if (!(loopLimit--)) clearTimeout(interval);
122
- if (document.body && !document.body.prototype && /(complete|interactive)/.test(document.readyState)) {
123
- shiv(document, true);
124
- if (interval && document.body.prototype) clearTimeout(interval);
125
- return (!!document.body.prototype);
119
+ // Apply Element prototype to the pre-existing DOM as soon as the body element appears.
120
+ function bodyCheck() {
121
+ if (!(loopLimit--)) clearTimeout(interval);
122
+ if (document.body && !document.body.prototype && /(complete|interactive)/.test(document.readyState)) {
123
+ shiv(document, true);
124
+ if (interval && document.body.prototype) clearTimeout(interval);
125
+ return (!!document.body.prototype);
126
+ }
127
+ return false;
128
+ }
129
+ if (!bodyCheck()) {
130
+ document.onreadystatechange = bodyCheck;
131
+ interval = setInterval(bodyCheck, 25);
126
132
  }
127
- return false;
128
- }
129
- if (!bodyCheck()) {
130
- document.onreadystatechange = bodyCheck;
131
- interval = setInterval(bodyCheck, 25);
132
- }
133
133
 
134
- // Apply to any new elements created after load
135
- document.createElement = function createElement(nodeName) {
136
- var element = nativeCreateElement(String(nodeName).toLowerCase());
137
- return shiv(element);
138
- };
134
+ // Apply to any new elements created after load
135
+ document.createElement = function createElement(nodeName) {
136
+ var element = nativeCreateElement(String(nodeName).toLowerCase());
137
+ return shiv(element);
138
+ };
139
139
 
140
- // remove sandboxed iframe
141
- document.removeChild(vbody);
142
- }());
140
+ // remove sandboxed iframe
141
+ document.removeChild(vbody);
142
+ }());
143
143
 
144
- })
145
- .call('object' === typeof window && window || 'object' === typeof self && self || 'object' === typeof global && global || {});
144
+ })
145
+ .call('object' === typeof window && window || 'object' === typeof self && self || 'object' === typeof global && global || {});
146
146
 
147
147
  })));
148
+ //# sourceMappingURL=Element.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Element.js","sources":["../../../../src/govuk/vendor/polyfills/Document.mjs","../../../../src/govuk/vendor/polyfills/Element.mjs"],"sourcesContent":["(function(undefined) {\n\n// Detection from https://github.com/Financial-Times/polyfill-service/blob/master/packages/polyfill-library/polyfills/Document/detect.js\nvar detect = (\"Document\" in this)\n\nif (detect) return\n\n// Polyfill from https://cdn.polyfill.io/v2/polyfill.js?features=Document&flags=always\nif ((typeof WorkerGlobalScope === \"undefined\") && (typeof importScripts !== \"function\")) {\n\n\tif (this.HTMLDocument) { // IE8\n\n\t\t// HTMLDocument is an extension of Document. If the browser has HTMLDocument but not Document, the former will suffice as an alias for the latter.\n\t\tthis.Document = this.HTMLDocument;\n\n\t} else {\n\n\t\t// Create an empty function to act as the missing constructor for the document object, attach the document object as its prototype. The function needs to be anonymous else it is hoisted and causes the feature detect to prematurely pass, preventing the assignments below being made.\n\t\tthis.Document = this.HTMLDocument = document.constructor = (new Function('return function Document() {}')());\n\t\tthis.Document.prototype = document;\n\t}\n}\n\n\n})\n.call('object' === typeof window && window || 'object' === typeof self && self || 'object' === typeof global && global || {});\n","import './Document.mjs'\n\n(function(undefined) {\n\n// Detection from https://github.com/Financial-Times/polyfill-service/blob/master/packages/polyfill-library/polyfills/Element/detect.js\nvar detect = ('Element' in this && 'HTMLElement' in this)\n\nif (detect) return\n\n// Polyfill from https://cdn.polyfill.io/v2/polyfill.js?features=Element&flags=always\n(function () {\n\n\t// IE8\n\tif (window.Element && !window.HTMLElement) {\n\t\twindow.HTMLElement = window.Element;\n\t\treturn;\n\t}\n\n\t// create Element constructor\n\twindow.Element = window.HTMLElement = new Function('return function Element() {}')();\n\n\t// generate sandboxed iframe\n\tvar vbody = document.appendChild(document.createElement('body'));\n\tvar frame = vbody.appendChild(document.createElement('iframe'));\n\n\t// use sandboxed iframe to replicate Element functionality\n\tvar frameDocument = frame.contentWindow.document;\n\tvar prototype = Element.prototype = frameDocument.appendChild(frameDocument.createElement('*'));\n\tvar cache = {};\n\n\t// polyfill Element.prototype on an element\n\tvar shiv = function (element, deep) {\n\t\tvar\n\t\tchildNodes = element.childNodes || [],\n\t\tindex = -1,\n\t\tkey, value, childNode;\n\n\t\tif (element.nodeType === 1 && element.constructor !== Element) {\n\t\t\telement.constructor = Element;\n\n\t\t\tfor (key in cache) {\n\t\t\t\tvalue = cache[key];\n\t\t\t\telement[key] = value;\n\t\t\t}\n\t\t}\n\n\t\twhile (childNode = deep && childNodes[++index]) {\n\t\t\tshiv(childNode, deep);\n\t\t}\n\n\t\treturn element;\n\t};\n\n\tvar elements = document.getElementsByTagName('*');\n\tvar nativeCreateElement = document.createElement;\n\tvar interval;\n\tvar loopLimit = 100;\n\n\tprototype.attachEvent('onpropertychange', function (event) {\n\t\tvar\n\t\tpropertyName = event.propertyName,\n\t\tnonValue = !cache.hasOwnProperty(propertyName),\n\t\tnewValue = prototype[propertyName],\n\t\toldValue = cache[propertyName],\n\t\tindex = -1,\n\t\telement;\n\n\t\twhile (element = elements[++index]) {\n\t\t\tif (element.nodeType === 1) {\n\t\t\t\tif (nonValue || element[propertyName] === oldValue) {\n\t\t\t\t\telement[propertyName] = newValue;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tcache[propertyName] = newValue;\n\t});\n\n\tprototype.constructor = Element;\n\n\tif (!prototype.hasAttribute) {\n\t\t// <Element>.hasAttribute\n\t\tprototype.hasAttribute = function hasAttribute(name) {\n\t\t\treturn this.getAttribute(name) !== null;\n\t\t};\n\t}\n\n\t// Apply Element prototype to the pre-existing DOM as soon as the body element appears.\n\tfunction bodyCheck() {\n\t\tif (!(loopLimit--)) clearTimeout(interval);\n\t\tif (document.body && !document.body.prototype && /(complete|interactive)/.test(document.readyState)) {\n\t\t\tshiv(document, true);\n\t\t\tif (interval && document.body.prototype) clearTimeout(interval);\n\t\t\treturn (!!document.body.prototype);\n\t\t}\n\t\treturn false;\n\t}\n\tif (!bodyCheck()) {\n\t\tdocument.onreadystatechange = bodyCheck;\n\t\tinterval = setInterval(bodyCheck, 25);\n\t}\n\n\t// Apply to any new elements created after load\n\tdocument.createElement = function createElement(nodeName) {\n\t\tvar element = nativeCreateElement(String(nodeName).toLowerCase());\n\t\treturn shiv(element);\n\t};\n\n\t// remove sandboxed iframe\n\tdocument.removeChild(vbody);\n}());\n\n})\n.call('object' === typeof window && window || 'object' === typeof self && self || 'object' === typeof global && global || {});\n"],"names":[],"mappings":";;;;;;CAAA,CAAC,SAAS,SAAS,EAAE;;CAErB;CACA,IAAI,MAAM,IAAI,UAAU,IAAI,IAAI,EAAC;;CAEjC,IAAI,MAAM,EAAE,MAAM;;CAElB;CACA,IAAI,CAAC,OAAO,iBAAiB,KAAK,WAAW,MAAM,OAAO,aAAa,KAAK,UAAU,CAAC,EAAE;;CAEzF,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE;;CAExB;CACA,EAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC;;CAEpC,EAAE,MAAM;;CAER;CACA,EAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,WAAW,IAAI,IAAI,QAAQ,CAAC,+BAA+B,CAAC,EAAE,CAAC,CAAC;CAC/G,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAC;CACrC,EAAE;CACF,CAAC;;;CAGD,CAAC;CACD,CAAC,IAAI,CAAC,QAAQ,KAAK,OAAO,MAAM,IAAI,MAAM,IAAI,QAAQ,KAAK,OAAO,IAAI,IAAI,IAAI,IAAI,QAAQ,KAAK,OAAO,MAAM,IAAI,MAAM,IAAI,EAAE,CAAC,CAAC;;CCvB9H,CAAC,SAAS,SAAS,EAAE;;CAErB;CACA,IAAI,MAAM,IAAI,SAAS,IAAI,IAAI,IAAI,aAAa,IAAI,IAAI,EAAC;;CAEzD,IAAI,MAAM,EAAE,MAAM;;CAElB;CACA,CAAC,YAAY;;CAEb;CACA,CAAC,IAAI,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;CAC5C,EAAE,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;CACtC,EAAE,OAAO;CACT,EAAE;;CAEF;CACA,CAAC,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,WAAW,GAAG,IAAI,QAAQ,CAAC,8BAA8B,CAAC,EAAE,CAAC;;CAEtF;CACA,CAAC,IAAI,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;CAClE,CAAC,IAAI,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;;CAEjE;CACA,CAAC,IAAI,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC;CAClD,CAAC,IAAI,SAAS,GAAG,OAAO,CAAC,SAAS,GAAG,aAAa,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;CACjG,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;;CAEhB;CACA,CAAC,IAAI,IAAI,GAAG,UAAU,OAAO,EAAE,IAAI,EAAE;CACrC,EAAE;CACF,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,EAAE;CACvC,EAAE,KAAK,GAAG,CAAC,CAAC;CACZ,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC;;CAExB,EAAE,IAAI,OAAO,CAAC,QAAQ,KAAK,CAAC,IAAI,OAAO,CAAC,WAAW,KAAK,OAAO,EAAE;CACjE,GAAG,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC;;CAEjC,GAAG,KAAK,GAAG,IAAI,KAAK,EAAE;CACtB,IAAI,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;CACvB,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;CACzB,IAAI;CACJ,GAAG;;CAEH,EAAE,OAAO,SAAS,GAAG,IAAI,IAAI,UAAU,CAAC,EAAE,KAAK,CAAC,EAAE;CAClD,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;CACzB,GAAG;;CAEH,EAAE,OAAO,OAAO,CAAC;CACjB,EAAE,CAAC;;CAEH,CAAC,IAAI,QAAQ,GAAG,QAAQ,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;CACnD,CAAC,IAAI,mBAAmB,GAAG,QAAQ,CAAC,aAAa,CAAC;CAClD,CAAC,IAAI,QAAQ,CAAC;CACd,CAAC,IAAI,SAAS,GAAG,GAAG,CAAC;;CAErB,CAAC,SAAS,CAAC,WAAW,CAAC,kBAAkB,EAAE,UAAU,KAAK,EAAE;CAC5D,EAAE;CACF,EAAE,YAAY,GAAG,KAAK,CAAC,YAAY;CACnC,EAAE,QAAQ,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC;CAChD,EAAE,QAAQ,GAAG,SAAS,CAAC,YAAY,CAAC;CACpC,EAAE,QAAQ,GAAG,KAAK,CAAC,YAAY,CAAC;CAChC,EAAE,KAAK,GAAG,CAAC,CAAC;CACZ,EAAE,OAAO,CAAC;;CAEV,EAAE,OAAO,OAAO,GAAG,QAAQ,CAAC,EAAE,KAAK,CAAC,EAAE;CACtC,GAAG,IAAI,OAAO,CAAC,QAAQ,KAAK,CAAC,EAAE;CAC/B,IAAI,IAAI,QAAQ,IAAI,OAAO,CAAC,YAAY,CAAC,KAAK,QAAQ,EAAE;CACxD,KAAK,OAAO,CAAC,YAAY,CAAC,GAAG,QAAQ,CAAC;CACtC,KAAK;CACL,IAAI;CACJ,GAAG;;CAEH,EAAE,KAAK,CAAC,YAAY,CAAC,GAAG,QAAQ,CAAC;CACjC,EAAE,CAAC,CAAC;;CAEJ,CAAC,SAAS,CAAC,WAAW,GAAG,OAAO,CAAC;;CAEjC,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE;CAC9B;CACA,EAAE,SAAS,CAAC,YAAY,GAAG,SAAS,YAAY,CAAC,IAAI,EAAE;CACvD,GAAG,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;CAC3C,GAAG,CAAC;CACJ,EAAE;;CAEF;CACA,CAAC,SAAS,SAAS,GAAG;CACtB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;CAC7C,EAAE,IAAI,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,IAAI,wBAAwB,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;CACvG,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;CACxB,GAAG,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;CACnE,GAAG,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE;CACtC,GAAG;CACH,EAAE,OAAO,KAAK,CAAC;CACf,EAAE;CACF,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE;CACnB,EAAE,QAAQ,CAAC,kBAAkB,GAAG,SAAS,CAAC;CAC1C,EAAE,QAAQ,GAAG,WAAW,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;CACxC,EAAE;;CAEF;CACA,CAAC,QAAQ,CAAC,aAAa,GAAG,SAAS,aAAa,CAAC,QAAQ,EAAE;CAC3D,EAAE,IAAI,OAAO,GAAG,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;CACpE,EAAE,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;CACvB,EAAE,CAAC;;CAEH;CACA,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;CAC7B,CAAC,EAAE,EAAE;;CAEL,CAAC;CACD,CAAC,IAAI,CAAC,QAAQ,KAAK,OAAO,MAAM,IAAI,MAAM,IAAI,QAAQ,KAAK,OAAO,IAAI,IAAI,IAAI,IAAI,QAAQ,KAAK,OAAO,MAAM,IAAI,MAAM,IAAI,EAAE,CAAC,CAAC;;;;"}