geico-design-kit 7.0.0

Sign up to get free protection for your applications and to get access to all the features.

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 };