luna-one 3.1.310 → 3.1.314

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.
@@ -86,7 +86,7 @@ var CtaWithHeader = function CtaWithHeader(_ref) {
86
86
  __html: content
87
87
  }
88
88
  }), (buttons === null || buttons === void 0 ? void 0 : buttons.length) && /*#__PURE__*/_react.default.createElement("div", {
89
- className: "cta-buttons ".concat(textLinks && "text-links ".concat(linksClass))
89
+ className: "cta-buttons ".concat(textLinks && "text-links ".concat(linksClass), " ").concat((buttons === null || buttons === void 0 ? void 0 : buttons.length) > 1 ? "cta-buttons--multiple" : "")
90
90
  }, buttons.map(function (button, index) {
91
91
  var _buttonsVarians, _buttonsVarians2;
92
92
 
@@ -44,7 +44,6 @@
44
44
  }
45
45
  }
46
46
 
47
-
48
47
  .header {
49
48
  width: 100%;
50
49
  margin: 0;
@@ -168,13 +167,19 @@
168
167
  width: 100%;
169
168
  display: flex;
170
169
  flex-wrap: wrap;
171
-
170
+
172
171
  a {
173
172
  margin: 40px 20px 0 40px;
174
173
  height: unset !important;
175
174
  white-space: pre-wrap;
176
175
  }
177
176
 
177
+ &--multiple {
178
+ a.ter-button + a.ter-button {
179
+ margin-top: 40px;
180
+ }
181
+ }
182
+
178
183
  &.text-links {
179
184
  flex-direction: column;
180
185
  grid-gap: 24px;
@@ -57,14 +57,6 @@
57
57
  }
58
58
  }
59
59
 
60
- &__divider {
61
- height: 1px;
62
- background: $concrete-gray;
63
- width: 100%;
64
- position: absolute;
65
- top: 56px;
66
- }
67
-
68
60
  &__left {
69
61
  display: flex;
70
62
  align-items: center;
@@ -80,7 +80,9 @@ var ScrollInPlace = function ScrollInPlace(_ref) {
80
80
 
81
81
  (0, _react.useEffect)(function () {
82
82
  // hook up the slide set nvigation buttons
83
- for (var i = 0; i < sets.length; i++) {
83
+ for (var i = 0; i < ((_sets = sets) === null || _sets === void 0 ? void 0 : _sets.length); i++) {
84
+ var _sets;
85
+
84
86
  var navButtons = sets[i].getElementsByClassName("nav-btn");
85
87
 
86
88
  for (var j = 0; j < navButtons.length; j++) {
@@ -118,14 +120,14 @@ var ScrollInPlace = function ScrollInPlace(_ref) {
118
120
  if (!currentHooked) {
119
121
  var slideSetPositions = []; // loop through all slide sets on a page and build array of their dom elements and positions
120
122
 
121
- for (var i = 0; i < sets.length; i++) {
122
- var _sets, _sets$i, _sets$i$classList, _sets2, _sets2$i, _sets2$i$classList;
123
+ for (var i = 0; i < ((_sets2 = sets) === null || _sets2 === void 0 ? void 0 : _sets2.length); i++) {
124
+ var _sets2, _sets3, _sets3$i, _sets3$i$classList, _sets4, _sets4$i, _sets4$i$classList;
123
125
 
124
126
  var setRect = sets[i].getBoundingClientRect();
125
127
  slideSetPositions.push({
126
128
  element: sets[i],
127
129
  position: setRect.top,
128
- finished: ((_sets = sets) === null || _sets === void 0 ? void 0 : (_sets$i = _sets[i]) === null || _sets$i === void 0 ? void 0 : (_sets$i$classList = _sets$i.classList) === null || _sets$i$classList === void 0 ? void 0 : _sets$i$classList.contains("activated")) && !((_sets2 = sets) === null || _sets2 === void 0 ? void 0 : (_sets2$i = _sets2[i]) === null || _sets2$i === void 0 ? void 0 : (_sets2$i$classList = _sets2$i.classList) === null || _sets2$i$classList === void 0 ? void 0 : _sets2$i$classList.contains("active")) ? true : false
130
+ finished: ((_sets3 = sets) === null || _sets3 === void 0 ? void 0 : (_sets3$i = _sets3[i]) === null || _sets3$i === void 0 ? void 0 : (_sets3$i$classList = _sets3$i.classList) === null || _sets3$i$classList === void 0 ? void 0 : _sets3$i$classList.contains("activated")) && !((_sets4 = sets) === null || _sets4 === void 0 ? void 0 : (_sets4$i = _sets4[i]) === null || _sets4$i === void 0 ? void 0 : (_sets4$i$classList = _sets4$i.classList) === null || _sets4$i$classList === void 0 ? void 0 : _sets4$i$classList.contains("active")) ? true : false
129
131
  });
130
132
  } // get the current hooked scroll element
131
133
 
@@ -261,19 +261,19 @@ var imageSizes = {
261
261
  },
262
262
  variant_8: {
263
263
  desktop: {
264
- width: 720,
264
+ width: 960,
265
265
  height: 720,
266
266
  ratio: {
267
- width: 1,
268
- height: 1
267
+ width: 4,
268
+ height: 3
269
269
  }
270
270
  },
271
271
  tablet: {
272
272
  width: 960,
273
- height: 480,
273
+ height: 720,
274
274
  ratio: {
275
- width: 2,
276
- height: 1
275
+ width: 4,
276
+ height: 3
277
277
  }
278
278
  },
279
279
  mobile: {
@@ -15,6 +15,8 @@ var _terraOne = require("terra-one");
15
15
 
16
16
  var _flickity = _interopRequireDefault(require("flickity"));
17
17
 
18
+ require("flickity-imagesloaded");
19
+
18
20
  var _lodash = _interopRequireDefault(require("lodash"));
19
21
 
20
22
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
@@ -40,6 +42,13 @@ var Carousel = function Carousel(_ref) {
40
42
  var xSmallCards = _lodash.default.chunk(content === null || content === void 0 ? void 0 : content.cards, 1);
41
43
 
42
44
  (0, _react.useEffect)(function () {
45
+ var carouselParams = {
46
+ cellAlign: "center",
47
+ wrapAround: true,
48
+ adaptiveHeight: false,
49
+ imagesLoaded: true
50
+ };
51
+
43
52
  if (carouselWrapper) {
44
53
  var carouselElemSelector = ".ter-carousel--xsmall";
45
54
  var carousel = new _flickity.default(carouselElemSelector, carouselParams);
@@ -59,11 +68,6 @@ var Carousel = function Carousel(_ref) {
59
68
  }
60
69
  }
61
70
  }, [carouselWrapper]);
62
- var carouselParams = {
63
- cellAlign: "center",
64
- wrapAround: true,
65
- adaptiveHeight: true
66
- };
67
71
 
68
72
  var updateSlideCountMessage = function updateSlideCountMessage(slideIndex) {
69
73
  if (document !== null) {
@@ -87,17 +87,17 @@
87
87
  display: none;
88
88
  }
89
89
  &.next {
90
- right: 0;
90
+ right: -40px;
91
91
  }
92
92
  &.previous {
93
- left: 0;
93
+ left: -40px;
94
94
  }
95
95
  }
96
96
  .flickity-page-dots {
97
97
  margin-top: 0;
98
98
  padding: 32px 0;
99
99
  width: 100%;
100
- z-index: 50;
100
+ z-index: 5;
101
101
  position: relative;
102
102
  display: flex;
103
103
  justify-content: center;
@@ -125,17 +125,6 @@
125
125
  }
126
126
  }
127
127
  }
128
- .flickity-viewport {
129
- min-height: 600px;
130
- width: 100%;
131
- transition: height 0.5s;
132
- padding-left: 40px;
133
- padding-right: 40px;
134
- @media screen and (max-width: $breakpoint-xs) {
135
- padding-left: 0;
136
- padding-right: 0;
137
- }
138
- }
139
128
  .carousel-cell {
140
129
  display: flex;
141
130
  width: 100%;
@@ -25,6 +25,8 @@ var _closeIcon = _interopRequireDefault(require("../../images/close-icon.svg"));
25
25
 
26
26
  var _rightCaretLightGray = _interopRequireDefault(require("../../images/right-caret-light-gray.svg"));
27
27
 
28
+ var _useMouse2 = _interopRequireDefault(require("../../utils/hooks/useMouse"));
29
+
28
30
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
29
31
 
30
32
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -62,6 +64,10 @@ var LanguageSelector = function LanguageSelector(_ref) {
62
64
  setSectionDeployed = _useState8[1];
63
65
 
64
66
  var checkComponent = false;
67
+
68
+ var _useMouse = (0, _useMouse2.default)(),
69
+ mouse = _useMouse.mouse;
70
+
65
71
  (0, _react.useEffect)(function () {
66
72
  return function () {
67
73
  if (typeof window !== "undefined") {
@@ -100,13 +106,31 @@ var LanguageSelector = function LanguageSelector(_ref) {
100
106
  checkComponent = true;
101
107
  };
102
108
 
109
+ var handleClickWithEnter = function handleClickWithEnter(e, fn) {
110
+ if (e.keyCode === 13) {
111
+ fn();
112
+ checkComponent = true;
113
+ }
114
+ };
115
+
116
+ var setStateWithEnter = function setStateWithEnter(e, state, item) {
117
+ if (e.keyCode === 13) {
118
+ state(item);
119
+ }
120
+ };
121
+
103
122
  return /*#__PURE__*/_react.default.createElement("div", {
104
123
  className: "luna-language-selector"
105
124
  }, /*#__PURE__*/_react.default.createElement("div", {
106
- className: "luna-language-selector__header ".concat(languageSelectorDeployed && "luna-language-selector__header-deployed"),
125
+ className: mouse ? "luna-language-selector__header ".concat(languageSelectorDeployed && "luna-language-selector__header-deployed") : "luna-language-selector__header tabFocus ".concat(languageSelectorDeployed && "luna-language-selector__header-deployed"),
126
+ tabIndex: "0",
107
127
  onClick: function onClick() {
108
128
  return handleClick();
109
- }
129
+ },
130
+ onKeyDown: function onKeyDown(e) {
131
+ return handleClickWithEnter(e, handleClick);
132
+ },
133
+ "aria-label": "".concat(currentSettings === null || currentSettings === void 0 ? void 0 : currentSettings.region, ": Change Region or language")
110
134
  }, /*#__PURE__*/_react.default.createElement("div", {
111
135
  className: "luna-language-selector__header-icon"
112
136
  }, languageSelectorDeployed ? /*#__PURE__*/_react.default.createElement("img", {
@@ -132,7 +156,8 @@ var LanguageSelector = function LanguageSelector(_ref) {
132
156
  }, "|")), (currentSettings === null || currentSettings === void 0 ? void 0 : currentSettings.language) && /*#__PURE__*/_react.default.createElement("div", {
133
157
  className: "luna-language-selector__header-text-language"
134
158
  }, currentSettings === null || currentSettings === void 0 ? void 0 : (_currentSettings$lang = currentSettings.language) === null || _currentSettings$lang === void 0 ? void 0 : _currentSettings$lang.nativeField))), languageSelectorDeployed && /*#__PURE__*/_react.default.createElement("div", {
135
- className: "luna-language-selector__body",
159
+ className: mouse ? "luna-language-selector__body" : "luna-language-selector__body tabFocus",
160
+ tabIndex: "0",
136
161
  onMouseLeave: function onMouseLeave() {
137
162
  return bodyMouseLeave();
138
163
  }
@@ -150,10 +175,15 @@ var LanguageSelector = function LanguageSelector(_ref) {
150
175
  }, regions && regions.map(function (region, index) {
151
176
  return /*#__PURE__*/_react.default.createElement("div", {
152
177
  key: "region-".concat(index),
153
- className: "luna-language-selector__body-section-item",
178
+ className: mouse ? "luna-language-selector__body-section-item" : "luna-language-selector__body-section-item tabFocus",
154
179
  onClick: function onClick() {
155
180
  return setCurrentRegion(region);
156
- }
181
+ },
182
+ onKeyDown: function onKeyDown(e) {
183
+ return setStateWithEnter(e, setCurrentRegion, region);
184
+ },
185
+ "aria-label": "".concat(region),
186
+ tabIndex: "0"
157
187
  }, /*#__PURE__*/_react.default.createElement("div", {
158
188
  className: "luna-language-selector__body-section-item-icon"
159
189
  }, region === currentRegion && /*#__PURE__*/_react.default.createElement("img", {
@@ -175,10 +205,15 @@ var LanguageSelector = function LanguageSelector(_ref) {
175
205
  }, languages && languages.map(function (language, index) {
176
206
  return /*#__PURE__*/_react.default.createElement("div", {
177
207
  key: "region-".concat(index),
178
- className: "luna-language-selector__body-section-item",
208
+ className: mouse ? "luna-language-selector__body-section-item" : "luna-language-selector__body-section-item tabFocus",
179
209
  onClick: function onClick() {
180
210
  return setCurrentLanguage(language);
181
- }
211
+ },
212
+ onKeyDown: function onKeyDown(e) {
213
+ return setStateWithEnter(e, setCurrentLanguage, language);
214
+ },
215
+ "aria-label": "".concat(language === null || language === void 0 ? void 0 : language.nativeField, " (").concat(language === null || language === void 0 ? void 0 : language.translatableName, ")"),
216
+ tabIndex: "0"
182
217
  }, /*#__PURE__*/_react.default.createElement("div", {
183
218
  className: "luna-language-selector__body-section-item-icon"
184
219
  }, (language === null || language === void 0 ? void 0 : language.code) === (currentLanguage === null || currentLanguage === void 0 ? void 0 : currentLanguage.code) && /*#__PURE__*/_react.default.createElement("img", {
@@ -196,11 +231,18 @@ var LanguageSelector = function LanguageSelector(_ref) {
196
231
  onClick: function onClick() {
197
232
  return handleLanguageSelectorDeployed(false);
198
233
  },
199
- className: "luna-language-selector__body-footer-link"
234
+ onKeyDown: function onKeyDown(e) {
235
+ return handleClickWithEnter(e, handleLanguageSelectorDeployed);
236
+ },
237
+ className: mouse ? "luna-language-selector__body-footer-link" : "luna-language-selector__body-footer-link tabFocus",
238
+ tabIndex: "0"
200
239
  }, (labels === null || labels === void 0 ? void 0 : (_labels$buttons = labels.buttons) === null || _labels$buttons === void 0 ? void 0 : _labels$buttons.cancel) || "Cancel"), /*#__PURE__*/_react.default.createElement(_terraOne.Button, {
201
240
  onClick: function onClick() {
202
241
  return handleSaveLanguage();
203
242
  },
243
+ onKeyDown: function onKeyDown(e) {
244
+ return handleClickWithEnter(e, handleSaveLanguage);
245
+ },
204
246
  className: "ter-button--primary--1 luna-language-selector__body-footer-button",
205
247
  size: "md",
206
248
  text: (labels === null || labels === void 0 ? void 0 : (_labels$buttons2 = labels.buttons) === null || _labels$buttons2 === void 0 ? void 0 : _labels$buttons2.ok) || "OK"
@@ -308,4 +308,10 @@
308
308
  }
309
309
  }
310
310
  }
311
+
312
+ &__body.tabFocus:focus, &__header.tabFocus:focus, &__body-section-item.tabFocus:focus, &__body-footer-link.tabFocus:focus {
313
+ outline: 2px solid $sky-blue;
314
+ }
315
+
316
+
311
317
  }
@@ -375,9 +375,7 @@ var NavBar = function NavBar(props) {
375
375
  }, /*#__PURE__*/_react.default.createElement("div", {
376
376
  id: _lodash.default.uniqueId("id-"),
377
377
  className: "ter-navbar__menus-wrapper"
378
- }, generateNavOptions(), featuredLink && generateFeaturedLink()), !subNavDisplay && /*#__PURE__*/_react.default.createElement("div", {
379
- className: "ter-navbar-top__divider"
380
- }))), /*#__PURE__*/_react.default.createElement(_MobileNav.default, {
378
+ }, generateNavOptions(), featuredLink && generateFeaturedLink()))), /*#__PURE__*/_react.default.createElement(_MobileNav.default, {
381
379
  rightLinks: rightLinks,
382
380
  navOptions: navOptions,
383
381
  disableLogin: disableLogin,
@@ -12,7 +12,6 @@
12
12
  @include benton-normal();
13
13
  position: fixed;
14
14
  //left and right padding comes from the boilerplate
15
-
16
15
  &--is-showing {
17
16
  .ter-navbar-top {
18
17
  height: 48px;
@@ -530,3 +529,9 @@
530
529
  -moz-transform: rotate(225deg);
531
530
  }
532
531
  }
532
+
533
+ .luna-layout--no-subnav {
534
+ .ter-navbar--is-showing {
535
+ border-bottom: 1px solid $concrete-gray;
536
+ }
537
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "luna-one",
3
- "version": "3.1.310",
3
+ "version": "3.1.314",
4
4
  "dependencies": {
5
5
  "@storybook/addon-knobs": "^6.3.1",
6
6
  "@testing-library/jest-dom": "^5.11.9",
@@ -11,6 +11,7 @@
11
11
  "axios": "^0.21.1",
12
12
  "cross-env": "^7.0.3",
13
13
  "flickity": "^2.2.2",
14
+ "flickity-imagesloaded": "^2.0.0",
14
15
  "lodash": "^4.17.20",
15
16
  "node-sass": "^4.12.0",
16
17
  "npm": "^7.20.5",