geico-design-kit 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of geico-design-kit might be problematic. Click here for more details.

Files changed (107) hide show
  1. package/.babelrc +5 -0
  2. package/LICENSE +0 -0
  3. package/dist/analytics.js +119 -0
  4. package/dist/appState.js +56 -0
  5. package/dist/baseComponent.js +110 -0
  6. package/dist/components/Accordion.js +312 -0
  7. package/dist/components/AddressAutoComplete.js +220 -0
  8. package/dist/components/Alert.js +145 -0
  9. package/dist/components/BackgroundPattern.js +99 -0
  10. package/dist/components/BackgroundPatternPortfolio.js +242 -0
  11. package/dist/components/ButtonSwitch.js +236 -0
  12. package/dist/components/CardSelections.js +230 -0
  13. package/dist/components/CommonQuestionsSquares.js +169 -0
  14. package/dist/components/Confirmation.js +156 -0
  15. package/dist/components/ConsolidatedSummary.js +489 -0
  16. package/dist/components/CoverageGraph.js +201 -0
  17. package/dist/components/CreditCard.js +591 -0
  18. package/dist/components/CurrencyInput.js +302 -0
  19. package/dist/components/DatePicker.js +468 -0
  20. package/dist/components/DockedMessage.js +146 -0
  21. package/dist/components/DotNavigation.js +200 -0
  22. package/dist/components/EditComponent.js +128 -0
  23. package/dist/components/EditableTable.js +113 -0
  24. package/dist/components/InPageNavigation.js +360 -0
  25. package/dist/components/Loader.js +232 -0
  26. package/dist/components/MakePayment.js +361 -0
  27. package/dist/components/Modal.js +254 -0
  28. package/dist/components/MoreInfoButton.js +227 -0
  29. package/dist/components/MultipleSelectBox.js +217 -0
  30. package/dist/components/NavigationalBox.js +161 -0
  31. package/dist/components/Navigator.js +294 -0
  32. package/dist/components/PasswordMeter.js +201 -0
  33. package/dist/components/PayPlans.js +534 -0
  34. package/dist/components/SegmentedControl.js +327 -0
  35. package/dist/components/SortableTable.js +166 -0
  36. package/dist/components/Tabs.js +1 -0
  37. package/dist/components/TextAreaCountdown.js +219 -0
  38. package/dist/components/Timeline.js +498 -0
  39. package/dist/components/TimelineFilter.js +492 -0
  40. package/dist/components/ToTopArrow.js +153 -0
  41. package/dist/components/Tooltip.js +329 -0
  42. package/dist/components/Upsell.js +168 -0
  43. package/dist/components/VIN.js +271 -0
  44. package/dist/components/ValidateForm.js +938 -0
  45. package/dist/components/ViewMoreLess.js +191 -0
  46. package/dist/components/ZipCode.js +191 -0
  47. package/dist/components/portfolio.js +99 -0
  48. package/dist/geico-design-kit.js +141 -0
  49. package/dist/global/components.js +98 -0
  50. package/dist/global/footer.js +26 -0
  51. package/dist/global/nav.js +1257 -0
  52. package/dist/services/CharacterTypeService.js +106 -0
  53. package/dist/services/UserAgentService.js +73 -0
  54. package/dist/utils.js +79 -0
  55. package/package.json +32 -0
  56. package/src/analytics.js +82 -0
  57. package/src/appState.js +56 -0
  58. package/src/baseComponent.js +156 -0
  59. package/src/components/Accordion.js +336 -0
  60. package/src/components/AddressAutoComplete.js +236 -0
  61. package/src/components/Alert.js +135 -0
  62. package/src/components/BackgroundPattern.js +96 -0
  63. package/src/components/BackgroundPatternPortfolio.js +284 -0
  64. package/src/components/ButtonSwitch.js +241 -0
  65. package/src/components/CardSelections.js +240 -0
  66. package/src/components/CommonQuestionsSquares.js +179 -0
  67. package/src/components/Confirmation.js +160 -0
  68. package/src/components/ConsolidatedSummary.js +505 -0
  69. package/src/components/CoverageGraph.js +203 -0
  70. package/src/components/CreditCard.js +595 -0
  71. package/src/components/CurrencyInput.js +321 -0
  72. package/src/components/DatePicker.js +487 -0
  73. package/src/components/DockedMessage.js +142 -0
  74. package/src/components/DotNavigation.js +206 -0
  75. package/src/components/EditComponent.js +130 -0
  76. package/src/components/EditableTable.js +106 -0
  77. package/src/components/InPageNavigation.js +391 -0
  78. package/src/components/Loader.js +272 -0
  79. package/src/components/MakePayment.js +397 -0
  80. package/src/components/Modal.js +279 -0
  81. package/src/components/MoreInfoButton.js +243 -0
  82. package/src/components/MultipleSelectBox.js +211 -0
  83. package/src/components/NavigationalBox.js +163 -0
  84. package/src/components/Navigator.js +338 -0
  85. package/src/components/PasswordMeter.js +209 -0
  86. package/src/components/PayPlans.js +604 -0
  87. package/src/components/SegmentedControl.js +365 -0
  88. package/src/components/SortableTable.js +176 -0
  89. package/src/components/Tabs.js +0 -0
  90. package/src/components/TextAreaCountdown.js +231 -0
  91. package/src/components/Timeline.js +532 -0
  92. package/src/components/TimelineFilter.js +533 -0
  93. package/src/components/ToTopArrow.js +153 -0
  94. package/src/components/Tooltip.js +344 -0
  95. package/src/components/Upsell.js +196 -0
  96. package/src/components/VIN.js +289 -0
  97. package/src/components/ValidateForm.js +1030 -0
  98. package/src/components/ViewMoreLess.js +193 -0
  99. package/src/components/ZipCode.js +193 -0
  100. package/src/components/portfolio.js +106 -0
  101. package/src/geico-design-kit.js +144 -0
  102. package/src/global/components.js +92 -0
  103. package/src/global/footer.js +25 -0
  104. package/src/global/nav.js +1457 -0
  105. package/src/services/CharacterTypeService.js +107 -0
  106. package/src/services/UserAgentService.js +59 -0
  107. package/src/utils.js +82 -0
@@ -0,0 +1,193 @@
1
+ import * as utils from '../../src/utils';
2
+ import baseComponent from '../../src/baseComponent';
3
+
4
+ const validateSettings = [
5
+ {
6
+ setting: "content",
7
+ isRequired: true,
8
+ validate: "type",
9
+ possibleValues: ["string", "object"],
10
+ errorMessage: ["GDK ViewMoreLess : Content must be defined and set to a DOM selector or Node"]
11
+ },
12
+ {
13
+ setting: "viewMoreLinkClicked",
14
+ isRequired: false,
15
+ validate: "type",
16
+ possibleValues: ["function"],
17
+ errorMessage: ["GDK ViewMoreLess : viewMoreLinkClicked must be defined and set function"]
18
+ },
19
+ {
20
+ setting: "collapsedTextValue",
21
+ isRequired: false,
22
+ validate: "type",
23
+ possibleValues: ["string"],
24
+ errorMessage: ["GDK ViewMoreLess : collapsedTextValue must be defined as a text string"]
25
+ },
26
+ {
27
+ setting: "expandedTextValue",
28
+ isRequired: false,
29
+ validate: "type",
30
+ possibleValues: ["string"],
31
+ errorMessage: ["GDK ViewMoreLess : expandedTextValue must be defined as a text string"]
32
+ }
33
+ ];
34
+
35
+ /**
36
+ * View More/Less Class
37
+ */
38
+ class ViewMoreLess {
39
+ /**
40
+ * These are settings for the instantiation. Refer to the design kit section of this component for JS setting examples.
41
+ * @param {string|Object} content
42
+ * A reference to the component node to toggle
43
+ *
44
+ * @param {function} [viewMoreLinkClicked]
45
+ * A callback function that gets fired when the View link is clicked
46
+ *
47
+ * @param {string} [collapsedTextValue="View More"]
48
+ * A string representing the link text when collapsed
49
+ *
50
+ * @param {string} [expandedTextValue="View Less"]
51
+ * A string representing the link text when expanded
52
+ *
53
+ */
54
+ constructor(options) {
55
+
56
+ console.log('ViewMoreLess initialized');
57
+
58
+ this._internalVars = {
59
+ node: null //used for current node
60
+ };
61
+
62
+ //options with defaults set
63
+ this._defaults = {
64
+ collapsedTextValue : 'View More',
65
+ expandedTextValue : 'View Less'
66
+ };
67
+
68
+ // Create options by extending defaults with the passed in arugments
69
+ if (options && typeof options === "object") {
70
+ this._options = baseComponent.extendDefaults(this._defaults, options);
71
+ }
72
+
73
+
74
+ //if the required options are valid set up the environment
75
+ if( baseComponent.validateSettings(this._options, validateSettings) ){
76
+ this._internalVars.contentType = baseComponent.getContentType(this);
77
+ setLocalVars.call(this);
78
+ init.call(this);
79
+ setEvents.call(this);
80
+ }
81
+ }
82
+
83
+ //Public Methods
84
+
85
+ /**
86
+ * removes the node from the dom and any events attached
87
+ */
88
+ destroy(){
89
+ removeEvents.call(this);
90
+ this._internalVars.node.parentNode.removeChild(this._internalVars.node);
91
+
92
+ //a little garbage collection
93
+ for (var variableKey in this){
94
+ if (this.hasOwnProperty(variableKey)){
95
+ delete this[variableKey];
96
+ }
97
+ }
98
+ }
99
+ }
100
+
101
+ // Private Methods
102
+ /**
103
+ * setEvents()
104
+ * Sets all the events needed for the component
105
+ */
106
+ function setEvents() {
107
+ this._internalVars.vmlLinkObject.addEventListener("click", this._internalVars.handler);
108
+ }
109
+
110
+
111
+ /**
112
+ * removeEvents()
113
+ * removes all events from the component
114
+ */
115
+ function removeEvents() {
116
+ this._internalVars.vmlLinkObject.removeEventListener("click",this._internalVars.handler);
117
+ }
118
+
119
+ function init() {
120
+ this._internalVars.vmlTitleObject.innerHTML = this._internalVars.collapsedTextValue;
121
+ }
122
+
123
+
124
+ /**
125
+ * toggleView()
126
+ * instantiate View More/Less
127
+ */
128
+ function toggleView(e) {
129
+ e.preventDefault();
130
+ this._internalVars.vmlIconObject.classList.toggle('view-less-link-icon');
131
+ this._internalVars.vmlObject.querySelector('.' + this._internalVars.vmlContentClass).classList.toggle('expanded');
132
+
133
+ if( this._internalVars.vmlContentObject.classList.contains('expanded') ) {
134
+ $(this._internalVars.vmlContentObject).slideDown();
135
+ } else {
136
+ $(this._internalVars.vmlContentObject).slideUp();
137
+ }
138
+
139
+ if (utils.hasClass(this._internalVars.vmlIconObject,'view-less-link-icon')) {
140
+ this._internalVars.vmlTitleObject.innerHTML = this._internalVars.expandedTextValue;
141
+ this._internalVars.vmlLinkObject.setAttribute('aria-expanded', 'true');
142
+ this._internalVars.vmlContentObject.setAttribute('aria-hidden', 'false');
143
+ this._internalVars.vmlState = true;
144
+ }else{
145
+ this._internalVars.vmlTitleObject.innerHTML = this._internalVars.collapsedTextValue;
146
+ this._internalVars.vmlLinkObject.setAttribute('aria-expanded', 'false');
147
+ this._internalVars.vmlContentObject.setAttribute('aria-hidden', 'true');
148
+ this._internalVars.vmlState = false;
149
+ }
150
+
151
+ if(this._options.viewMoreLinkClicked) {
152
+ this._options.viewMoreLinkClicked(this._internalVars.vmlState);
153
+ }
154
+ }
155
+
156
+ /**
157
+ * setLocalVars()
158
+ * set local vars to the ones passed in options
159
+ */
160
+ function setLocalVars() {
161
+ if(this._internalVars.contentType === 'string') {
162
+ this._internalVars.node = document.querySelector(this._options.content);
163
+ } else if (this._internalVars.contentType === 'domNode') {
164
+ this._internalVars.node = this._options.content;
165
+ }
166
+ this._internalVars.collapsedTextValue = this._options.collapsedTextValue;
167
+ this._internalVars.expandedTextValue = this._options.expandedTextValue;
168
+
169
+ this._internalVars.vmlLinkClass = 'view-more-less-link';
170
+ this._internalVars.vmlLinkTitle = 'view-more-link-title';
171
+ this._internalVars.vmlIconClass = 'view-more-link-icon';
172
+ this._internalVars.vmlContentClass = 'view-more-less-content';
173
+ this._internalVars.vmlObject = this._internalVars.node;
174
+ this._internalVars.vmlLinkObject = this._internalVars.node.querySelector('a.' + this._internalVars.vmlLinkClass);
175
+ this._internalVars.vmlTitleObject = this._internalVars.node.querySelector('span.' + this._internalVars.vmlLinkTitle);
176
+ this._internalVars.vmlIconObject = this._internalVars.node.querySelector('span.' + this._internalVars.vmlIconClass);
177
+ this._internalVars.vmlContentObject = this._internalVars.node.querySelector('div.' + this._internalVars.vmlContentClass);
178
+ this._internalVars.vmlState = false;
179
+
180
+ if(this._internalVars.vmlContentObject.classList.contains('expanded')){
181
+ this._internalVars.vmlLinkObject.setAttribute('aria-expanded', 'true');
182
+ this._internalVars.vmlContentObject.setAttribute('aria-hidden', 'false');
183
+ this._internalVars.vmlState = true;
184
+ }else{
185
+ this._internalVars.vmlLinkObject.setAttribute('aria-expanded', 'false');
186
+ this._internalVars.vmlContentObject.setAttribute('aria-hidden', 'true');
187
+ this._internalVars.vmlState = false;
188
+ }
189
+
190
+ this._internalVars.handler = toggleView.bind(this);
191
+ }
192
+
193
+ export default ViewMoreLess;
@@ -0,0 +1,193 @@
1
+ import * as utils from '../../src/utils';
2
+ import baseComponent from '../../src/baseComponent';
3
+
4
+ const validateSettings = [
5
+ {
6
+ setting: "content",
7
+ isRequired: true,
8
+ validate: "type",
9
+ possibleValues: ["string", "object"],
10
+ errorMessage: ["GDK ViewMoreLess : Content must be defined and set to a DOM selector or Node"]
11
+ },
12
+ {
13
+ setting: "viewMoreLinkClicked",
14
+ isRequired: false,
15
+ validate: "type",
16
+ possibleValues: ["function"],
17
+ errorMessage: ["GDK ViewMoreLess : viewMoreLinkClicked must be defined and set function"]
18
+ },
19
+ {
20
+ setting: "collapsedTextValue",
21
+ isRequired: false,
22
+ validate: "type",
23
+ possibleValues: ["string"],
24
+ errorMessage: ["GDK ViewMoreLess : collapsedTextValue must be defined as a text string"]
25
+ },
26
+ {
27
+ setting: "expandedTextValue",
28
+ isRequired: false,
29
+ validate: "type",
30
+ possibleValues: ["string"],
31
+ errorMessage: ["GDK ViewMoreLess : expandedTextValue must be defined as a text string"]
32
+ }
33
+ ];
34
+
35
+ /**
36
+ * View More/Less Class
37
+ */
38
+ class ViewMoreLess {
39
+ /**
40
+ * These are settings for the instantiation. Refer to the design kit section of this component for JS setting examples.
41
+ * @param {string|Object} content
42
+ * A reference to the component node to toggle
43
+ *
44
+ * @param {function} [viewMoreLinkClicked]
45
+ * A callback function that gets fired when the View link is clicked
46
+ *
47
+ * @param {string} [collapsedTextValue="View More"]
48
+ * A string representing the link text when collapsed
49
+ *
50
+ * @param {string} [expandedTextValue="View Less"]
51
+ * A string representing the link text when expanded
52
+ *
53
+ */
54
+ constructor(options) {
55
+
56
+ console.log('ViewMoreLess initialized');
57
+
58
+ this._internalVars = {
59
+ node: null //used for current node
60
+ };
61
+
62
+ //options with defaults set
63
+ this._defaults = {
64
+ collapsedTextValue : 'View More',
65
+ expandedTextValue : 'View Less'
66
+ };
67
+
68
+ // Create options by extending defaults with the passed in arugments
69
+ if (options && typeof options === "object") {
70
+ this._options = baseComponent.extendDefaults(this._defaults, options);
71
+ }
72
+
73
+
74
+ //if the required options are valid set up the environment
75
+ if( baseComponent.validateSettings(this._options, validateSettings) ){
76
+ this._internalVars.contentType = baseComponent.getContentType(this);
77
+ setLocalVars.call(this);
78
+ init.call(this);
79
+ setEvents.call(this);
80
+ }
81
+ }
82
+
83
+ //Public Methods
84
+
85
+ /**
86
+ * removes the node from the dom and any events attached
87
+ */
88
+ destroy(){
89
+ removeEvents.call(this);
90
+ this._internalVars.node.parentNode.removeChild(this._internalVars.node);
91
+
92
+ //a little garbage collection
93
+ for (var variableKey in this){
94
+ if (this.hasOwnProperty(variableKey)){
95
+ delete this[variableKey];
96
+ }
97
+ }
98
+ }
99
+ }
100
+
101
+ // Private Methods
102
+ /**
103
+ * setEvents()
104
+ * Sets all the events needed for the component
105
+ */
106
+ function setEvents() {
107
+ this._internalVars.vmlLinkObject.addEventListener("click", this._internalVars.handler);
108
+ }
109
+
110
+
111
+ /**
112
+ * removeEvents()
113
+ * removes all events from the component
114
+ */
115
+ function removeEvents() {
116
+ this._internalVars.vmlLinkObject.removeEventListener("click",this._internalVars.handler);
117
+ }
118
+
119
+ function init() {
120
+ this._internalVars.vmlTitleObject.innerHTML = this._internalVars.collapsedTextValue;
121
+ }
122
+
123
+
124
+ /**
125
+ * toggleView()
126
+ * instantiate View More/Less
127
+ */
128
+ function toggleView(e) {
129
+ e.preventDefault();
130
+ this._internalVars.vmlIconObject.classList.toggle('view-less-link-icon');
131
+ this._internalVars.vmlObject.querySelector('.' + this._internalVars.vmlContentClass).classList.toggle('expanded');
132
+
133
+ if( this._internalVars.vmlContentObject.classList.contains('expanded') ) {
134
+ $(this._internalVars.vmlContentObject).slideDown();
135
+ } else {
136
+ $(this._internalVars.vmlContentObject).slideUp();
137
+ }
138
+
139
+ if (utils.hasClass(this._internalVars.vmlIconObject,'view-less-link-icon')) {
140
+ this._internalVars.vmlTitleObject.innerHTML = this._internalVars.expandedTextValue;
141
+ this._internalVars.vmlLinkObject.setAttribute('aria-expanded', 'true');
142
+ this._internalVars.vmlContentObject.setAttribute('aria-hidden', 'false');
143
+ this._internalVars.vmlState = true;
144
+ }else{
145
+ this._internalVars.vmlTitleObject.innerHTML = this._internalVars.collapsedTextValue;
146
+ this._internalVars.vmlLinkObject.setAttribute('aria-expanded', 'false');
147
+ this._internalVars.vmlContentObject.setAttribute('aria-hidden', 'true');
148
+ this._internalVars.vmlState = false;
149
+ }
150
+
151
+ if(this._options.viewMoreLinkClicked) {
152
+ this._options.viewMoreLinkClicked(this._internalVars.vmlState);
153
+ }
154
+ }
155
+
156
+ /**
157
+ * setLocalVars()
158
+ * set local vars to the ones passed in options
159
+ */
160
+ function setLocalVars() {
161
+ if(this._internalVars.contentType === 'string') {
162
+ this._internalVars.node = document.querySelector(this._options.content);
163
+ } else if (this._internalVars.contentType === 'domNode') {
164
+ this._internalVars.node = this._options.content;
165
+ }
166
+ this._internalVars.collapsedTextValue = this._options.collapsedTextValue;
167
+ this._internalVars.expandedTextValue = this._options.expandedTextValue;
168
+
169
+ this._internalVars.vmlLinkClass = 'view-more-less-link';
170
+ this._internalVars.vmlLinkTitle = 'view-more-link-title';
171
+ this._internalVars.vmlIconClass = 'view-more-link-icon';
172
+ this._internalVars.vmlContentClass = 'view-more-less-content';
173
+ this._internalVars.vmlObject = this._internalVars.node;
174
+ this._internalVars.vmlLinkObject = this._internalVars.node.querySelector('a.' + this._internalVars.vmlLinkClass);
175
+ this._internalVars.vmlTitleObject = this._internalVars.node.querySelector('span.' + this._internalVars.vmlLinkTitle);
176
+ this._internalVars.vmlIconObject = this._internalVars.node.querySelector('span.' + this._internalVars.vmlIconClass);
177
+ this._internalVars.vmlContentObject = this._internalVars.node.querySelector('div.' + this._internalVars.vmlContentClass);
178
+ this._internalVars.vmlState = false;
179
+
180
+ if(this._internalVars.vmlContentObject.classList.contains('expanded')){
181
+ this._internalVars.vmlLinkObject.setAttribute('aria-expanded', 'true');
182
+ this._internalVars.vmlContentObject.setAttribute('aria-hidden', 'false');
183
+ this._internalVars.vmlState = true;
184
+ }else{
185
+ this._internalVars.vmlLinkObject.setAttribute('aria-expanded', 'false');
186
+ this._internalVars.vmlContentObject.setAttribute('aria-hidden', 'true');
187
+ this._internalVars.vmlState = false;
188
+ }
189
+
190
+ this._internalVars.handler = toggleView.bind(this);
191
+ }
192
+
193
+ export default ViewMoreLess;
@@ -0,0 +1,106 @@
1
+ import * as utils from '../../src/utils';
2
+ import baseComponent from '../../src/baseComponent';
3
+
4
+ const validateSettings = [
5
+ {
6
+ setting: "content",
7
+ isRequired: true,
8
+ validate: "type",
9
+ possibleValues: ["string", "object"],
10
+ errorMessage: ["GDK Portfolio : Content must be defined and set to a DOM selector or Node"]
11
+ }
12
+ ];
13
+
14
+ class Portfolio {
15
+ constructor(options) {
16
+
17
+ console.log('Portfolio initialized');
18
+
19
+ this._internalVars = {
20
+ node: null
21
+ };
22
+
23
+ //options with defaults set
24
+ this._defaults = {
25
+
26
+ };
27
+
28
+ // Create options by extending defaults with the passed in arugments
29
+ if (options && typeof options === "object") {
30
+ this._options = baseComponent.extendDefaults(this._defaults, options);
31
+ }
32
+
33
+
34
+ //if the required options are valid set up the environment
35
+ if( baseComponent.validateSettings(this._options, validateSettings) ){
36
+ this._internalVars.contentType = baseComponent.getContentType(this);
37
+ setLocalVars.call(this);
38
+ setEvents.call(this);
39
+ setContainerHeight.call(this);
40
+ }
41
+ }
42
+ }
43
+
44
+ // Private Methods
45
+ /**
46
+ * setEvents()
47
+ * Sets all the events needed for the component
48
+ */
49
+ function setEvents() {
50
+ window.onresize = setContainerHeight.bind(this);
51
+ }
52
+
53
+
54
+ /**
55
+ * removeEvents()
56
+ * removes all events from the component
57
+ */
58
+ function removeEvents() {
59
+ }
60
+
61
+
62
+ /**
63
+ * setContainerHeight()
64
+ * set container height
65
+ */
66
+ function setContainerHeight() {
67
+ if (window.innerWidth > 550) {
68
+ this._internalVars.portfolioLeft.removeAttribute('style');
69
+ this._internalVars.portfolioRight.removeAttribute('style');
70
+
71
+ let arrHeight = [];
72
+
73
+ let leftHeight = this._internalVars.portfolioLeft.clientHeight;
74
+ let rightHeight = this._internalVars.portfolioRight.clientHeight;
75
+
76
+ arrHeight.push(leftHeight, rightHeight);
77
+
78
+ let containerHeight = Math.max(...arrHeight);
79
+
80
+ this._internalVars.portfolioLeft.style.height = containerHeight + 'px';
81
+ this._internalVars.portfolioRight.style.height = containerHeight + 'px';
82
+ } else {
83
+ this._internalVars.portfolioLeft.removeAttribute('style');
84
+ this._internalVars.portfolioRight.removeAttribute('style');
85
+ }
86
+ }
87
+
88
+ /**
89
+ * setLocalVars()
90
+ * set local vars to the ones passed in options
91
+ */
92
+ function setLocalVars() {
93
+ if(this._internalVars.contentType === 'string') {
94
+ this._internalVars.node = document.querySelector(this._options.content);
95
+ } else if (this._internalVars.contentType === 'domNode') {
96
+ this._internalVars.node = this._options.content;
97
+ }
98
+
99
+ this._internalVars.portfolioLeftClass = 'left-portfolio-container';
100
+ this._internalVars.portfolioRightClass = 'right-portfolio-container';
101
+ this._internalVars.portfolioObject = this._internalVars.node;
102
+ this._internalVars.portfolioLeft = this._internalVars.portfolioObject.querySelector('.' + this._internalVars.portfolioLeftClass);
103
+ this._internalVars.portfolioRight = this._internalVars.portfolioObject.querySelector('.' + this._internalVars.portfolioRightClass);
104
+ }
105
+
106
+ export default Portfolio;
@@ -0,0 +1,144 @@
1
+ window.$ = window.jQuery = jQuery;
2
+
3
+ let Chosen = require('chosen-js');
4
+
5
+ require('../../sass-kit/geico-design-kit.scss');
6
+
7
+ import appState from './appState';
8
+
9
+ import * as nav from '../dist/global/nav';
10
+ import * as footer from '../dist/global/footer';
11
+ import * as components from '../dist/global/components';
12
+
13
+ import jQuery from 'jquery';
14
+
15
+ import Modal from '../dist/components/Modal';
16
+ import Tooltip from '../dist/components/Tooltip';
17
+ import Loader from '../dist/components/Loader';
18
+ import ButtonSwitch from '../dist/components/ButtonSwitch';
19
+ import TextareaCountdown from './components/TextareaCountdown';
20
+ import AddressAutoComplete from '../dist/components/AddressAutoComplete';
21
+ import DatePicker from '../dist/components/DatePicker';
22
+ import Tabs from '../dist/components/Tabs';
23
+ import SortableTable from '../dist/components/SortableTable';
24
+ // import QuoteComparisonTable from './components/QuoteComparisonTable';
25
+ import ViewMoreLess from '../dist/components/ViewMoreLess';
26
+ import ToTopArrow from '../dist/components/ToTopArrow';
27
+ import ValidateForm from '../dist/components/ValidateForm';
28
+ import InPageNavigation from '../dist/components/InPageNavigation';
29
+ import TimelineFilter from '../dist/components/TimelineFilter';
30
+ import Timeline from '../dist/components/Timeline';
31
+ import Accordion from '../dist/components/Accordion';
32
+ import Alert from '../dist/components/Alert';
33
+ import MoreInfoButton from '../dist/components/MoreInfoButton';
34
+ import BackgroundPattern from '../dist/components/BackgroundPattern';
35
+ import BackgroundPatternPortfolioPage from './components/BackgroundPatternPortfolioPage';
36
+ import DotNavigation from '../dist/components/DotNavigation';
37
+ import EditableTable from '../dist/components/EditableTable';
38
+ import CoverageGraph from '../dist/components/CoverageGraph';
39
+ import CommonQuestionsSquares from '../dist/components/CommonQuestionsSquares';
40
+ import UpsellCarousel from '../dist/components/Upsell';
41
+ import Portfolio from '../dist/components/portfolio';
42
+ import PayPlans from '../dist/components/PayPlans';
43
+ import ConsolidatedSummary from '../dist/components/ConsolidatedSummary';
44
+ import EditComponent from '../dist/components/EditComponent';
45
+ import DockedMessage from '../dist/components/DockedMessage';
46
+ import SegmentedControl from '../dist/components/SegmentedControl';
47
+ import MultipleSelectBox from '../dist/components/MultipleSelectBox';
48
+ import CardSelections from '../dist/components/CardSelections';
49
+ import TimeInput from './components/TimeInput';
50
+ import NavigationalBox from '../dist/components/NavigationalBox';
51
+ import PasswordMeter from '../dist/components/PasswordMeter';
52
+ import CreditCard from '../dist/components/CreditCard';
53
+ import CurrencyInput from '../dist/components/CurrencyInput';
54
+ import MakePayment from '../dist/components/MakePayment';
55
+ import Navigator from '../dist/components/Navigator';
56
+ import VIN from '../dist/components/VIN';
57
+ import ZipCode from "../dist/components/ZipCode";
58
+ import Confirmation from "../dist/components/Confirmation";
59
+
60
+ let GDK = GDK || {};
61
+
62
+ function init() {
63
+ let pjson = require("../../../package");
64
+ let version = pjson.version;
65
+
66
+ let about = {
67
+ _comment: "This is a generated version.json file. Do not attempt to modify. Modify Version from package.json file.",
68
+ version: version
69
+ };
70
+
71
+ let ProtoGDK = {
72
+ about: about,
73
+ navigation : nav,
74
+ Modal : Modal,
75
+ Tooltip : Tooltip,
76
+ Loader : Loader,
77
+ ButtonSwitch : ButtonSwitch,
78
+ TextareaCountdown : TextareaCountdown,
79
+ DatePicker : DatePicker,
80
+ AddressAutoComplete : AddressAutoComplete,
81
+ Tabs : Tabs,
82
+ SortableTable : SortableTable,
83
+ // QuoteComparisonTable : QuoteComparisonTable,
84
+ ViewMoreLess : ViewMoreLess,
85
+ ValidateForm : ValidateForm,
86
+ InPageNavigation : InPageNavigation,
87
+ TimelineFilter : TimelineFilter,
88
+ Timeline : Timeline,
89
+ Accordion : Accordion,
90
+ ToTopArrow : ToTopArrow,
91
+ Alert: Alert,
92
+ MoreInfoButton: MoreInfoButton,
93
+ BackgroundPattern: BackgroundPattern,
94
+ BackgroundPatternPortfolioPage: BackgroundPatternPortfolioPage,
95
+ DotNavigation: DotNavigation,
96
+ EditableTable: EditableTable,
97
+ CoverageGraph: CoverageGraph,
98
+ CommonQuestionsSquares: CommonQuestionsSquares,
99
+ ConsolidatedSummary: ConsolidatedSummary,
100
+ UpsellCarousel: UpsellCarousel,
101
+ footer: footer,
102
+ PayPlans: PayPlans,
103
+ Chosen: Chosen,
104
+ MultipleSelectBox: MultipleSelectBox,
105
+ Portfolio: Portfolio,
106
+ EditComponent: EditComponent,
107
+ DockedMessage: DockedMessage,
108
+ SegmentedControl: SegmentedControl,
109
+ CardSelections: CardSelections,
110
+ TimeInput: TimeInput,
111
+ NavigationalBox: NavigationalBox,
112
+ components: components,
113
+ PasswordMeter: PasswordMeter,
114
+ CurrencyInput: CurrencyInput,
115
+ CreditCard: CreditCard,
116
+ MakePayment: MakePayment,
117
+ Navigator: Navigator,
118
+ VIN: VIN,
119
+ ZipCode: ZipCode,
120
+ Confirmation: Confirmation
121
+ };
122
+
123
+ for(var property in ProtoGDK) {
124
+ if(!GDK.hasOwnProperty(property)) {
125
+ GDK[property] = ProtoGDK[property];
126
+ }
127
+ }
128
+
129
+ window.addEventListener('resize', () => {
130
+ handleResize();
131
+ });
132
+
133
+ handleResize();
134
+
135
+ }
136
+
137
+
138
+ function handleResize() {
139
+ appState.windowSize = {width : window.innerWidth || document.documentElement.clientWidth, height : window.innerHeight || document.documentElement.clientHeight};
140
+ }
141
+
142
+ init();
143
+ window.GDK = GDK;
144
+ export { GDK };