@nypl/design-system-react-components 1.1.0-rc → 1.1.0-rc4

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.
@@ -5886,7 +5886,8 @@ var Header = {
5886
5886
  },
5887
5887
  horizontalRule: {
5888
5888
  bg: headerRed,
5889
- marginTop: "0"
5889
+ marginTop: "0",
5890
+ marginBottom: "0"
5890
5891
  },
5891
5892
  logo: {
5892
5893
  padding: {
@@ -8828,27 +8829,132 @@ var DSProvider = function DSProvider(_ref) {
8828
8829
  }, children);
8829
8830
  };
8830
8831
 
8831
- var _excluded$19 = ["align", "className"];
8832
- var HorizontalRule$1 = /*#__PURE__*/react.chakra( /*#__PURE__*/React.forwardRef(function (props, ref) {
8833
- var align = props.align,
8832
+ var _excluded$19 = ["children", "className", "id", "inline", "listItems", "noStyling", "title", "type"];
8833
+ /**
8834
+ * A component that renders list item `li` elements or description item `dt`
8835
+ * and `dd` elements based on the `type` prop. Note that the `title` prop will
8836
+ * only display for the `Description` list type.
8837
+ */
8838
+
8839
+ var List$1 = /*#__PURE__*/react.chakra( /*#__PURE__*/React.forwardRef(function (props, ref) {
8840
+ var children = props.children,
8834
8841
  className = props.className,
8842
+ id = props.id,
8843
+ _props$inline = props.inline,
8844
+ inline = _props$inline === void 0 ? false : _props$inline,
8845
+ listItems = props.listItems,
8846
+ _props$noStyling = props.noStyling,
8847
+ noStyling = _props$noStyling === void 0 ? false : _props$noStyling,
8848
+ title = props.title,
8849
+ _props$type = props.type,
8850
+ type = _props$type === void 0 ? "ul" : _props$type,
8835
8851
  rest = _objectWithoutPropertiesLoose(props, _excluded$19);
8836
8852
 
8837
- var styles = react.useStyleConfig("HorizontalRule", {
8838
- align: align
8853
+ var styles = react.useStyleConfig("List", {
8854
+ inline: inline,
8855
+ noStyling: noStyling,
8856
+ variant: type
8839
8857
  });
8858
+ var listElement = null; // Either li/dt/dd children elements must be passed or the `listItems`
8859
+ // prop must be used.
8840
8860
 
8841
- var finalStyles = _extends({}, styles, {
8842
- height: "2px",
8843
- width: "100%"
8844
- });
8861
+ if (children && listItems && (listItems == null ? void 0 : listItems.length) > 0) {
8862
+ console.warn("NYPL Reservoir List: Pass in either `<li>`, `<dt>`, or `<dd>` " + "children or use the `listItems` data prop. Do not use both.");
8863
+ return null;
8864
+ }
8845
8865
 
8846
- return React__default.createElement(react.Box, Object.assign({
8847
- as: "hr",
8848
- className: className,
8849
- ref: ref,
8850
- __css: finalStyles
8851
- }, rest));
8866
+ if (!children && !listItems) {
8867
+ console.warn("NYPL Reservoir List: Pass in either `<li>` children or pass data in " + "the `listItems` prop, not both.");
8868
+ return null;
8869
+ }
8870
+ /**
8871
+ * This returns either the `children` elements passed to the `List` component
8872
+ * first, otherwise it will check and render the data passed into the
8873
+ * `listItems` props based on the `ListType` type. If it is of type unordered
8874
+ * or ordered, it will return `li` elements. Otherwise, it will return a
8875
+ * combination of `dt` and `dd` elements for the description type.
8876
+ */
8877
+
8878
+
8879
+ var listChildrenElms = function listChildrenElms(listType) {
8880
+ if (children) {
8881
+ return children;
8882
+ }
8883
+
8884
+ if (!listItems) {
8885
+ return null;
8886
+ }
8887
+
8888
+ if (listType === "ol" || listType === "ul") {
8889
+ return listItems.map(function (item, i) {
8890
+ return React__default.createElement("li", {
8891
+ key: i
8892
+ }, item);
8893
+ });
8894
+ } else if (listType === "dl") {
8895
+ return listItems.map(function (item, i) {
8896
+ return [React__default.createElement("dt", {
8897
+ key: i + "-term"
8898
+ }, item.term), React__default.createElement("dd", {
8899
+ key: i + "-des"
8900
+ }, item.description)];
8901
+ });
8902
+ }
8903
+
8904
+ return null;
8905
+ };
8906
+ /**
8907
+ * Checks for `li` elements and consoles a warning if the
8908
+ * children are different HTML elements.
8909
+ */
8910
+
8911
+
8912
+ var checkListChildrenError = function checkListChildrenError(listType) {
8913
+ React__default.Children.map(children, function (child) {
8914
+ var _child$props;
8915
+
8916
+ if (child && (child == null ? void 0 : child.type) !== "li" && (child == null ? void 0 : (_child$props = child.props) == null ? void 0 : _child$props.mdxType) !== "li") {
8917
+ console.warn("NYPL Reservoir List: Direct children of `List` (" + listType + ") must be `<li>`s.");
8918
+ }
8919
+ });
8920
+ };
8921
+ /**
8922
+ * Checks for `dt` and `dd` elements and consoles a warning if the
8923
+ * children are different HTML elements.
8924
+ */
8925
+
8926
+
8927
+ var checkDescriptionChildrenError = function checkDescriptionChildrenError() {
8928
+ React__default.Children.map(children, function (child) {
8929
+ if (child.type !== "dt" && child.type !== "dd" && child.type !== React__default.Fragment && child.props.mdxType !== "dt" && child.props.mdxType !== "dd" && child.props.mdxType !== React__default.Fragment) {
8930
+ console.warn("NYPL Reservoir List: Direct children of `List` (description) must " + "be `<dt>`s and `<dd>`s.");
8931
+ }
8932
+ });
8933
+ };
8934
+
8935
+ if (type === "ol" || type === "ul") {
8936
+ checkListChildrenError(type);
8937
+ listElement = React__default.createElement(react.Box, Object.assign({
8938
+ as: type,
8939
+ id: id,
8940
+ className: className,
8941
+ ref: ref,
8942
+ __css: styles
8943
+ }, rest), listChildrenElms(type));
8944
+ } else if (type === "dl") {
8945
+ checkDescriptionChildrenError();
8946
+ listElement = React__default.createElement(react.Box, Object.assign({
8947
+ as: "section",
8948
+ id: id,
8949
+ className: className,
8950
+ ref: ref,
8951
+ __css: styles
8952
+ }, rest), title && React__default.createElement(Heading, {
8953
+ id: id + "-heading"
8954
+ }, title), React__default.createElement("dl", null, listChildrenElms(type)));
8955
+ }
8956
+
8957
+ return listElement;
8852
8958
  }));
8853
8959
 
8854
8960
  var _path$L, _path2$f, _path3$7;
@@ -11355,135 +11461,162 @@ var Logo$1 = /*#__PURE__*/react.chakra( /*#__PURE__*/React.forwardRef(function (
11355
11461
  }, childSVG);
11356
11462
  }));
11357
11463
 
11358
- var _excluded$1V = ["children", "className", "id", "inline", "listItems", "noStyling", "title", "type"];
11464
+ var link$1 = {
11465
+ nyplLinks: [[{
11466
+ text: "Accessibility",
11467
+ href: "http://www.nypl.org/accessibility"
11468
+ }, {
11469
+ text: "Press",
11470
+ href: "http://www.nypl.org/help/about-nypl/media-center"
11471
+ }, {
11472
+ text: "Careers",
11473
+ href: "http://www.nypl.org/careers"
11474
+ }, {
11475
+ text: "Space Rental",
11476
+ href: "http://www.nypl.org/spacerental"
11477
+ }], [{
11478
+ text: "Privacy Policy",
11479
+ href: "http://www.nypl.org/help/about-nypl/legal-notices/privacy-policy"
11480
+ }, {
11481
+ text: "Other Policies",
11482
+ href: "http://www.nypl.org/policies"
11483
+ }, {
11484
+ text: "Terms & Conditions",
11485
+ href: "http://www.nypl.org/terms-conditions"
11486
+ }, {
11487
+ text: "Governance",
11488
+ href: "http://www.nypl.org/help/about-nypl/leadership/board-trustees"
11489
+ }], [{
11490
+ text: "Rules & Regulations",
11491
+ href: "http://www.nypl.org/help/about-nypl/legal-notices/rules-and-regulations"
11492
+ }, {
11493
+ text: "About NYPL",
11494
+ href: "http://www.nypl.org/help/about-nypl"
11495
+ }, {
11496
+ text: "Language",
11497
+ href: "http://www.nypl.org/language"
11498
+ }]],
11499
+ socialMedia: [{
11500
+ href: "https://www.facebook.com/nypl",
11501
+ iconName: "legacySocialFacebook",
11502
+ title: "NYPL on Facebook"
11503
+ }, {
11504
+ href: "https://twitter.com/nypl",
11505
+ iconName: "legacySocialTwitter",
11506
+ title: "NYPL on Twitter"
11507
+ }, {
11508
+ href: "https://instagram.com/nypl",
11509
+ iconName: "legacySocialInstagram",
11510
+ title: "NYPL on Instagram"
11511
+ }, {
11512
+ href: "https://www.youtube.com/user/NewYorkPublicLibrary",
11513
+ iconName: "legacySocialYoutube",
11514
+ title: "NYPL on Youtube"
11515
+ }]
11516
+ };
11517
+
11518
+ var _excluded$1V = ["className", "id"];
11359
11519
  /**
11360
- * A component that renders list item `li` elements or description item `dt`
11361
- * and `dd` elements based on the `type` prop. Note that the `title` prop will
11362
- * only display for the `Description` list type.
11520
+ * This `Footer` component renders the NYPL-branded footer elements such
11521
+ * as navigational NYPL.org links, social media links, copyright, and
11522
+ * NYPL building facade image.
11363
11523
  */
11364
11524
 
11365
- var List$1 = /*#__PURE__*/react.chakra( /*#__PURE__*/React.forwardRef(function (props, ref) {
11366
- var children = props.children,
11367
- className = props.className,
11368
- id = props.id,
11369
- _props$inline = props.inline,
11370
- inline = _props$inline === void 0 ? false : _props$inline,
11371
- listItems = props.listItems,
11372
- _props$noStyling = props.noStyling,
11373
- noStyling = _props$noStyling === void 0 ? false : _props$noStyling,
11374
- title = props.title,
11375
- _props$type = props.type,
11376
- type = _props$type === void 0 ? "ul" : _props$type,
11377
- rest = _objectWithoutPropertiesLoose(props, _excluded$1V);
11378
-
11379
- var styles = react.useStyleConfig("List", {
11380
- inline: inline,
11381
- noStyling: noStyling,
11382
- variant: type
11383
- });
11384
- var listElement = null; // Either li/dt/dd children elements must be passed or the `listItems`
11385
- // prop must be used.
11386
-
11387
- if (children && listItems && (listItems == null ? void 0 : listItems.length) > 0) {
11388
- console.warn("NYPL Reservoir List: Pass in either `<li>`, `<dt>`, or `<dd>` " + "children or use the `listItems` data prop. Do not use both.");
11389
- return null;
11390
- }
11391
-
11392
- if (!children && !listItems) {
11393
- console.warn("NYPL Reservoir List: Pass in either `<li>` children or pass data in " + "the `listItems` prop, not both.");
11394
- return null;
11395
- }
11396
- /**
11397
- * This returns either the `children` elements passed to the `List` component
11398
- * first, otherwise it will check and render the data passed into the
11399
- * `listItems` props based on the `ListType` type. If it is of type unordered
11400
- * or ordered, it will return `li` elements. Otherwise, it will return a
11401
- * combination of `dt` and `dd` elements for the description type.
11402
- */
11403
-
11404
-
11405
- var listChildrenElms = function listChildrenElms(listType) {
11406
- if (children) {
11407
- return children;
11408
- }
11409
-
11410
- if (!listItems) {
11411
- return null;
11412
- }
11413
-
11414
- if (listType === "ol" || listType === "ul") {
11415
- return listItems.map(function (item, i) {
11416
- return React__default.createElement("li", {
11417
- key: i
11418
- }, item);
11419
- });
11420
- } else if (listType === "dl") {
11421
- return listItems.map(function (item, i) {
11422
- return [React__default.createElement("dt", {
11423
- key: i + "-term"
11424
- }, item.term), React__default.createElement("dd", {
11425
- key: i + "-des"
11426
- }, item.description)];
11427
- });
11428
- }
11429
-
11430
- return null;
11431
- };
11432
- /**
11433
- * Checks for `li` elements and consoles a warning if the
11434
- * children are different HTML elements.
11435
- */
11436
-
11437
-
11438
- var checkListChildrenError = function checkListChildrenError(listType) {
11439
- React__default.Children.map(children, function (child) {
11440
- var _child$props;
11525
+ var Footer$1 = /*#__PURE__*/react.chakra( /*#__PURE__*/React.forwardRef(function (_ref, ref) {
11526
+ var className = _ref.className,
11527
+ _ref$id = _ref.id,
11528
+ id = _ref$id === void 0 ? "footer" : _ref$id,
11529
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$1V);
11441
11530
 
11442
- if (child && (child == null ? void 0 : child.type) !== "li" && (child == null ? void 0 : (_child$props = child.props) == null ? void 0 : _child$props.mdxType) !== "li") {
11443
- console.warn("NYPL Reservoir List: Direct children of `List` (" + listType + ") must be `<li>`s.");
11444
- }
11531
+ var styles = react.useMultiStyleConfig("Footer", {});
11532
+ var nyplLinks = link$1.nyplLinks.map(function (links, index) {
11533
+ return React__default.createElement(List$1, {
11534
+ key: index,
11535
+ listItems: links.map(function (link) {
11536
+ return React__default.createElement(Link, {
11537
+ href: link.href,
11538
+ key: link.text
11539
+ }, link.text);
11540
+ }),
11541
+ noStyling: true,
11542
+ type: "ul",
11543
+ __css: styles.footerLinksInner
11445
11544
  });
11446
- };
11447
- /**
11448
- * Checks for `dt` and `dd` elements and consoles a warning if the
11449
- * children are different HTML elements.
11450
- */
11545
+ });
11546
+ var socialLinks = link$1.socialMedia.map(function (link, index) {
11547
+ return React__default.createElement(Link, {
11548
+ href: link.href,
11549
+ key: index
11550
+ }, React__default.createElement(Icon, {
11551
+ decorative: false,
11552
+ name: link.iconName,
11553
+ size: "small",
11554
+ title: link.title
11555
+ }));
11556
+ });
11557
+ return React__default.createElement(react.Box, Object.assign({
11558
+ as: "footer",
11559
+ className: className,
11560
+ id: id,
11561
+ ref: ref,
11562
+ role: "contentinfo"
11563
+ }, rest, {
11564
+ __css: styles
11565
+ }), React__default.createElement(react.Box, {
11566
+ __css: styles.listsContainer
11567
+ }, React__default.createElement(List$1, {
11568
+ "data-testid": "text-links",
11569
+ listItems: nyplLinks,
11570
+ noStyling: true,
11571
+ type: "ul",
11572
+ __css: styles.footerLinksList
11573
+ }), React__default.createElement(List$1, {
11574
+ "data-testid": "social-media-links",
11575
+ listItems: socialLinks,
11576
+ noStyling: true,
11577
+ type: "ul",
11578
+ __css: styles.socialMediaList
11579
+ })), React__default.createElement(react.Box, {
11580
+ __css: styles.nyplInfoContainer
11581
+ }, React__default.createElement(react.Box, null, React__default.createElement(Image, {
11582
+ alt: "NYPL Main Building Facade",
11583
+ src: "https://cdn-d8.nypl.org/s3fs-public/2020-05/NYPL_MainFacadeRev2Cam2.png"
11584
+ })), React__default.createElement(react.Box, {
11585
+ __css: styles.copyright
11586
+ }, React__default.createElement("p", null, "\xA9 The New York Public Library, ", new Date().getFullYear()), React__default.createElement("p", null, "The New York Public Library is a 501(c)(3) | EIN 13-1887440"))), React__default.createElement(react.Box, {
11587
+ __css: styles.logoContainer
11588
+ }, React__default.createElement(Logo$1, {
11589
+ decorative: false,
11590
+ name: "nyplTextWhite",
11591
+ size: "small",
11592
+ title: "The New York Public Library"
11593
+ })));
11594
+ }));
11451
11595
 
11596
+ var _excluded$1W = ["align", "className"];
11597
+ var HorizontalRule$1 = /*#__PURE__*/react.chakra( /*#__PURE__*/React.forwardRef(function (props, ref) {
11598
+ var align = props.align,
11599
+ className = props.className,
11600
+ rest = _objectWithoutPropertiesLoose(props, _excluded$1W);
11452
11601
 
11453
- var checkDescriptionChildrenError = function checkDescriptionChildrenError() {
11454
- React__default.Children.map(children, function (child) {
11455
- if (child.type !== "dt" && child.type !== "dd" && child.type !== React__default.Fragment && child.props.mdxType !== "dt" && child.props.mdxType !== "dd" && child.props.mdxType !== React__default.Fragment) {
11456
- console.warn("NYPL Reservoir List: Direct children of `List` (description) must " + "be `<dt>`s and `<dd>`s.");
11457
- }
11458
- });
11459
- };
11602
+ var styles = react.useStyleConfig("HorizontalRule", {
11603
+ align: align
11604
+ });
11460
11605
 
11461
- if (type === "ol" || type === "ul") {
11462
- checkListChildrenError(type);
11463
- listElement = React__default.createElement(react.Box, Object.assign({
11464
- as: type,
11465
- id: id,
11466
- className: className,
11467
- ref: ref,
11468
- __css: styles
11469
- }, rest), listChildrenElms(type));
11470
- } else if (type === "dl") {
11471
- checkDescriptionChildrenError();
11472
- listElement = React__default.createElement(react.Box, Object.assign({
11473
- as: "section",
11474
- id: id,
11475
- className: className,
11476
- ref: ref,
11477
- __css: styles
11478
- }, rest), title && React__default.createElement(Heading, {
11479
- id: id + "-heading"
11480
- }, title), React__default.createElement("dl", null, listChildrenElms(type)));
11481
- }
11606
+ var finalStyles = _extends({}, styles, {
11607
+ height: "2px",
11608
+ width: "100%"
11609
+ });
11482
11610
 
11483
- return listElement;
11611
+ return React__default.createElement(react.Box, Object.assign({
11612
+ as: "hr",
11613
+ className: className,
11614
+ ref: ref,
11615
+ __css: finalStyles
11616
+ }, rest));
11484
11617
  }));
11485
11618
 
11486
- var _excluded$1W = ["className", "id", "target"];
11619
+ var _excluded$1X = ["className", "id", "target"];
11487
11620
  /**
11488
11621
  * SkipNavigation is a component that is used to provide a navigational list of
11489
11622
  * links. The first link is used to skip to the main content of the page using
@@ -11496,7 +11629,7 @@ var SkipNavigation$1 = /*#__PURE__*/react.chakra( /*#__PURE__*/React.forwardRef(
11496
11629
  id = props.id,
11497
11630
  _props$target = props.target,
11498
11631
  target = _props$target === void 0 ? "#mainContent" : _props$target,
11499
- rest = _objectWithoutPropertiesLoose(props, _excluded$1W);
11632
+ rest = _objectWithoutPropertiesLoose(props, _excluded$1X);
11500
11633
 
11501
11634
  var styles = react.useStyleConfig("SkipNavigation");
11502
11635
  return React__default.createElement(react.Box, Object.assign({
@@ -11517,7 +11650,7 @@ var SkipNavigation$1 = /*#__PURE__*/react.chakra( /*#__PURE__*/React.forwardRef(
11517
11650
  }, "Click to learn about accessibility at the Library"))));
11518
11651
  }));
11519
11652
 
11520
- var _excluded$1X = ["className", "helperText", "id", "invalidText", "isChecked", "isDisabled", "isInvalid", "isRequired", "labelText", "name", "onChange", "showHelperInvalidText", "showLabel", "value"];
11653
+ var _excluded$1Y = ["className", "helperText", "id", "invalidText", "isChecked", "isDisabled", "isInvalid", "isRequired", "labelText", "name", "onChange", "showHelperInvalidText", "showLabel", "value"];
11521
11654
  var Radio$1 = /*#__PURE__*/react.chakra( /*#__PURE__*/React.forwardRef(function (props, ref) {
11522
11655
  var className = props.className,
11523
11656
  helperText = props.helperText,
@@ -11538,7 +11671,7 @@ var Radio$1 = /*#__PURE__*/react.chakra( /*#__PURE__*/React.forwardRef(function
11538
11671
  _props$showLabel = props.showLabel,
11539
11672
  showLabel = _props$showLabel === void 0 ? true : _props$showLabel,
11540
11673
  value = props.value,
11541
- rest = _objectWithoutPropertiesLoose(props, _excluded$1X);
11674
+ rest = _objectWithoutPropertiesLoose(props, _excluded$1Y);
11542
11675
 
11543
11676
  var styles = react.useMultiStyleConfig("Radio", {
11544
11677
  showLabel: showLabel
@@ -11585,7 +11718,7 @@ var Radio$1 = /*#__PURE__*/react.chakra( /*#__PURE__*/React.forwardRef(function
11585
11718
  }, labelText)));
11586
11719
  }));
11587
11720
 
11588
- var _excluded$1Y = ["children", "className", "defaultValue", "helperText", "id", "invalidText", "isDisabled", "isFullWidth", "isInvalid", "isRequired", "labelText", "layout", "name", "onChange", "showHelperInvalidText", "showLabel", "showRequiredLabel"];
11721
+ var _excluded$1Z = ["children", "className", "defaultValue", "helperText", "id", "invalidText", "isDisabled", "isFullWidth", "isInvalid", "isRequired", "labelText", "layout", "name", "onChange", "showHelperInvalidText", "showLabel", "showRequiredLabel"];
11589
11722
  /**
11590
11723
  * RadioGroup is a wrapper for DS `Radio` components that renders as a fieldset
11591
11724
  * HTML element along with optional helper text. The `name` prop is essential
@@ -11621,7 +11754,7 @@ var RadioGroup$1 = /*#__PURE__*/react.chakra( /*#__PURE__*/React.forwardRef(func
11621
11754
  showLabel = _props$showLabel === void 0 ? true : _props$showLabel,
11622
11755
  _props$showRequiredLa = props.showRequiredLabel,
11623
11756
  showRequiredLabel = _props$showRequiredLa === void 0 ? true : _props$showRequiredLa,
11624
- rest = _objectWithoutPropertiesLoose(props, _excluded$1Y);
11757
+ rest = _objectWithoutPropertiesLoose(props, _excluded$1Z);
11625
11758
 
11626
11759
  var _React$useState = React__default.useState(defaultValue),
11627
11760
  value = _React$useState[0],
@@ -12726,7 +12859,7 @@ var HeaderMobileIconNav$1 = /*#__PURE__*/react.chakra(function () {
12726
12859
  }), React__default.createElement(HeaderMobileNavButton$1, null));
12727
12860
  });
12728
12861
 
12729
- var _excluded$1Z = ["children", "icon", "id", "isCentered", "notificationType"],
12862
+ var _excluded$1_ = ["children", "icon", "id", "isCentered", "notificationType"],
12730
12863
  _excluded2$5 = ["alignText", "children", "icon", "notificationType"],
12731
12864
  _excluded3$3 = ["ariaLabel", "className", "dismissible", "icon", "id", "isCentered", "noMargin", "notificationContent", "notificationHeading", "notificationType", "showIcon"];
12732
12865
  /**
@@ -12739,7 +12872,7 @@ var NotificationHeading$1 = /*#__PURE__*/react.chakra(function (props) {
12739
12872
  id = props.id,
12740
12873
  isCentered = props.isCentered,
12741
12874
  notificationType = props.notificationType,
12742
- rest = _objectWithoutPropertiesLoose(props, _excluded$1Z);
12875
+ rest = _objectWithoutPropertiesLoose(props, _excluded$1_);
12743
12876
 
12744
12877
  var styles = react.useMultiStyleConfig("NotificationHeading", {
12745
12878
  icon: icon,
@@ -13245,7 +13378,7 @@ var Header$1 = /*#__PURE__*/react.chakra(function (_ref) {
13245
13378
  }))));
13246
13379
  });
13247
13380
 
13248
- var _excluded$1_ = ["backgroundColor", "backgroundImageSrc", "foregroundColor", "heading", "heroType", "imageProps", "locationDetails", "subHeaderText"];
13381
+ var _excluded$1$ = ["backgroundColor", "backgroundImageSrc", "foregroundColor", "heading", "heroType", "imageProps", "locationDetails", "subHeaderText"];
13249
13382
 
13250
13383
  var heroSecondaryTypes = ["secondary", "secondaryBooksAndMore", "secondaryLocations", "secondaryResearch", "secondaryWhatsOn"];
13251
13384
  var Hero$1 = /*#__PURE__*/react.chakra( /*#__PURE__*/React.forwardRef(function (props, ref) {
@@ -13261,7 +13394,7 @@ var Hero$1 = /*#__PURE__*/react.chakra( /*#__PURE__*/React.forwardRef(function (
13261
13394
  } : _props$imageProps,
13262
13395
  locationDetails = props.locationDetails,
13263
13396
  subHeaderText = props.subHeaderText,
13264
- rest = _objectWithoutPropertiesLoose(props, _excluded$1_);
13397
+ rest = _objectWithoutPropertiesLoose(props, _excluded$1$);
13265
13398
 
13266
13399
  var styles = react.useMultiStyleConfig("Hero", {
13267
13400
  variant: heroType
@@ -13361,7 +13494,7 @@ var Hero$1 = /*#__PURE__*/react.chakra( /*#__PURE__*/React.forwardRef(function (
13361
13494
  }
13362
13495
  });
13363
13496
 
13364
- var _excluded$1$ = ["bodyContent", "closeButtonLabel", "headingText", "id", "isOpen", "onClose"],
13497
+ var _excluded$20 = ["bodyContent", "closeButtonLabel", "headingText", "id", "isOpen", "onClose"],
13365
13498
  _excluded2$6 = ["buttonText", "id", "modalProps"],
13366
13499
  _excluded3$4 = ["bodyContent", "closeButtonLabel", "headingText", "id"];
13367
13500
  var BaseModal = /*#__PURE__*/react.chakra(function (_ref) {
@@ -13372,7 +13505,7 @@ var BaseModal = /*#__PURE__*/react.chakra(function (_ref) {
13372
13505
  id = _ref.id,
13373
13506
  isOpen = _ref.isOpen,
13374
13507
  onClose = _ref.onClose,
13375
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$1$);
13508
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$20);
13376
13509
 
13377
13510
  var xlarge = "xl";
13378
13511
  var fullSize = "full";
@@ -13463,7 +13596,7 @@ function useModal() {
13463
13596
  };
13464
13597
  }
13465
13598
 
13466
- var _excluded$20 = ["className", "currentPage", "getPageHref", "id", "initialPage", "onPageChange", "pageCount"];
13599
+ var _excluded$21 = ["className", "currentPage", "getPageHref", "id", "initialPage", "onPageChange", "pageCount"];
13467
13600
  /**
13468
13601
  * A component that provides a navigational list of page items.
13469
13602
  */
@@ -13477,7 +13610,7 @@ var Pagination$1 = /*#__PURE__*/react.chakra( /*#__PURE__*/React.forwardRef(func
13477
13610
  initialPage = _props$initialPage === void 0 ? 1 : _props$initialPage,
13478
13611
  onPageChange = props.onPageChange,
13479
13612
  pageCount = props.pageCount,
13480
- rest = _objectWithoutPropertiesLoose(props, _excluded$20);
13613
+ rest = _objectWithoutPropertiesLoose(props, _excluded$21);
13481
13614
 
13482
13615
  var refCurrentPage = React.useRef(currentPage);
13483
13616
 
@@ -13670,7 +13803,7 @@ var Pagination$1 = /*#__PURE__*/react.chakra( /*#__PURE__*/React.forwardRef(func
13670
13803
  }, previousLiLink, getPaginationNumbers(selectedPage), nextLiLink));
13671
13804
  }));
13672
13805
 
13673
- var _excluded$21 = ["darkMode", "id", "indicatorType", "isIndeterminate", "labelText", "showLabel", "size", "value"];
13806
+ var _excluded$22 = ["darkMode", "id", "indicatorType", "isIndeterminate", "labelText", "showLabel", "size", "value"];
13674
13807
  /**
13675
13808
  * A component that displays a progress status for any task that takes a long
13676
13809
  * time to complete or consists of multiple steps. Examples include downloading,
@@ -13692,7 +13825,7 @@ var ProgressIndicator$1 = /*#__PURE__*/react.chakra( /*#__PURE__*/React.forwardR
13692
13825
  size = _props$size === void 0 ? "default" : _props$size,
13693
13826
  _props$value = props.value,
13694
13827
  value = _props$value === void 0 ? 0 : _props$value,
13695
- rest = _objectWithoutPropertiesLoose(props, _excluded$21);
13828
+ rest = _objectWithoutPropertiesLoose(props, _excluded$22);
13696
13829
 
13697
13830
  var styles = react.useMultiStyleConfig("ProgressIndicator", {
13698
13831
  darkMode: darkMode,
@@ -13759,7 +13892,7 @@ var ProgressIndicator$1 = /*#__PURE__*/react.chakra( /*#__PURE__*/React.forwardR
13759
13892
  }, rest), progressComponent(indicatorType));
13760
13893
  }));
13761
13894
 
13762
- var _excluded$22 = ["children", "className", "helperText", "id", "invalidText", "isDisabled", "isInvalid", "isRequired", "labelPosition", "labelText", "name", "onChange", "placeholder", "selectType", "showHelperInvalidText", "showLabel", "showRequiredLabel", "value"];
13895
+ var _excluded$23 = ["children", "className", "helperText", "id", "invalidText", "isDisabled", "isInvalid", "isRequired", "labelPosition", "labelText", "name", "onChange", "placeholder", "selectType", "showHelperInvalidText", "showLabel", "showRequiredLabel", "value"];
13763
13896
  /**
13764
13897
  * Component that renders Chakra's `Select` component along with an accessible
13765
13898
  * `Label` and optional `HelperErrorText` component.
@@ -13793,7 +13926,7 @@ var Select$1 = /*#__PURE__*/react.chakra( /*#__PURE__*/React.forwardRef(function
13793
13926
  showRequiredLabel = _props$showRequiredLa === void 0 ? true : _props$showRequiredLa,
13794
13927
  _props$value = props.value,
13795
13928
  value = _props$value === void 0 ? "" : _props$value,
13796
- rest = _objectWithoutPropertiesLoose(props, _excluded$22);
13929
+ rest = _objectWithoutPropertiesLoose(props, _excluded$23);
13797
13930
 
13798
13931
  var _useState = React.useState(0),
13799
13932
  labelWidth = _useState[0],
@@ -13879,7 +14012,7 @@ var Select$1 = /*#__PURE__*/react.chakra( /*#__PURE__*/React.forwardRef(function
13879
14012
  }), children)));
13880
14013
  }));
13881
14014
 
13882
- var _excluded$23 = ["action", "buttonOnClick", "className", "descriptionText", "headingText", "helperText", "id", "invalidText", "isDisabled", "isInvalid", "isRequired", "labelText", "method", "noBrandButtonType", "onSubmit", "selectProps", "textInputElement", "textInputProps"];
14015
+ var _excluded$24 = ["action", "buttonOnClick", "className", "descriptionText", "headingText", "helperText", "id", "invalidText", "isDisabled", "isInvalid", "isRequired", "labelText", "method", "noBrandButtonType", "onSubmit", "selectProps", "textInputElement", "textInputProps"];
13883
14016
  /**
13884
14017
  * Renders a wrapper `form` element to be used with `Select` (optional),
13885
14018
  * `Input`, and `Button` components together.
@@ -13908,7 +14041,7 @@ var SearchBar$1 = /*#__PURE__*/react.chakra( /*#__PURE__*/React.forwardRef(funct
13908
14041
  selectProps = props.selectProps,
13909
14042
  textInputElement = props.textInputElement,
13910
14043
  textInputProps = props.textInputProps,
13911
- rest = _objectWithoutPropertiesLoose(props, _excluded$23);
14044
+ rest = _objectWithoutPropertiesLoose(props, _excluded$24);
13912
14045
 
13913
14046
  var styles = react.useMultiStyleConfig("SearchBar", {});
13914
14047
  var stateProps = {
@@ -14002,7 +14135,7 @@ var SearchBar$1 = /*#__PURE__*/react.chakra( /*#__PURE__*/React.forwardRef(funct
14002
14135
  }, selectElem, textInputElem, buttonElem));
14003
14136
  }));
14004
14137
 
14005
- var _excluded$24 = ["className", "contentSize", "headingSize", "imageAspectRatio", "isBordered", "layout", "showButton", "showContent", "showHeading", "showImage", "width"];
14138
+ var _excluded$25 = ["className", "contentSize", "headingSize", "imageAspectRatio", "isBordered", "layout", "showButton", "showContent", "showHeading", "showImage", "width"];
14006
14139
  /**
14007
14140
  * The `SkeletonLoader` component renders a placeholder to be used while
14008
14141
  * dynamic content is loading.
@@ -14029,7 +14162,7 @@ var SkeletonLoader$1 = /*#__PURE__*/react.chakra( /*#__PURE__*/React.forwardRef(
14029
14162
  _props$showImage = props.showImage,
14030
14163
  showImage = _props$showImage === void 0 ? true : _props$showImage,
14031
14164
  width = props.width,
14032
- rest = _objectWithoutPropertiesLoose(props, _excluded$24);
14165
+ rest = _objectWithoutPropertiesLoose(props, _excluded$25);
14033
14166
 
14034
14167
  var styles = react.useMultiStyleConfig("SkeletonLoader", {
14035
14168
  isBordered: isBordered,
@@ -14092,7 +14225,7 @@ var SkeletonLoader$1 = /*#__PURE__*/react.chakra( /*#__PURE__*/React.forwardRef(
14092
14225
  })))));
14093
14226
  }));
14094
14227
 
14095
- var _excluded$25 = ["className", "defaultValue", "helperText", "id", "invalidText", "isDisabled", "isInvalid", "isRangeSlider", "isRequired", "labelText", "max", "min", "name", "onChange", "showBoxes", "showHelperInvalidText", "showLabel", "showRequiredLabel", "showValues", "step"];
14228
+ var _excluded$26 = ["className", "defaultValue", "helperText", "id", "invalidText", "isDisabled", "isInvalid", "isRangeSlider", "isRequired", "labelText", "max", "min", "name", "onChange", "showBoxes", "showHelperInvalidText", "showLabel", "showRequiredLabel", "showValues", "step"];
14096
14229
  /**
14097
14230
  * The `Slider` component renders a singular value slider or a range slider
14098
14231
  * with a min and max value. The value(s) can be updated through the slider
@@ -14133,7 +14266,7 @@ var Slider = /*#__PURE__*/react.chakra( /*#__PURE__*/React.forwardRef(function (
14133
14266
  showValues = _props$showValues === void 0 ? true : _props$showValues,
14134
14267
  _props$step = props.step,
14135
14268
  step = _props$step === void 0 ? 1 : _props$step,
14136
- rest = _objectWithoutPropertiesLoose(props, _excluded$25);
14269
+ rest = _objectWithoutPropertiesLoose(props, _excluded$26);
14137
14270
 
14138
14271
  if (!id) {
14139
14272
  console.warn("NYPL Reservoir Slider: This component's required `id` prop was not passed.");
@@ -14323,7 +14456,7 @@ var Slider = /*#__PURE__*/react.chakra( /*#__PURE__*/React.forwardRef(function (
14323
14456
  }, max), showBoxes && getTextInput("end")));
14324
14457
  }));
14325
14458
 
14326
- var _excluded$26 = ["children", "className", "id", "level"];
14459
+ var _excluded$27 = ["children", "className", "id", "level"];
14327
14460
  /**
14328
14461
  * The `StatusBadge` component is used to display a visual badge for three
14329
14462
  * different status levels.
@@ -14335,7 +14468,7 @@ var StatusBadge$1 = /*#__PURE__*/react.chakra( /*#__PURE__*/React.forwardRef(fun
14335
14468
  id = props.id,
14336
14469
  _props$level = props.level,
14337
14470
  level = _props$level === void 0 ? "low" : _props$level,
14338
- rest = _objectWithoutPropertiesLoose(props, _excluded$26);
14471
+ rest = _objectWithoutPropertiesLoose(props, _excluded$27);
14339
14472
 
14340
14473
  var styles = react.useStyleConfig("StatusBadge", {
14341
14474
  variant: level
@@ -14353,7 +14486,7 @@ var StatusBadge$1 = /*#__PURE__*/react.chakra( /*#__PURE__*/React.forwardRef(fun
14353
14486
  }, rest), children);
14354
14487
  }));
14355
14488
 
14356
- var _excluded$27 = ["calloutText", "className", "headingText", "id", "imageProps", "bodyContent"];
14489
+ var _excluded$28 = ["calloutText", "className", "headingText", "id", "imageProps", "bodyContent"];
14357
14490
  /**
14358
14491
  * Internal component used in the `StructuredContent` component
14359
14492
  * that renders the DS `Image` component.
@@ -14405,7 +14538,7 @@ var StructuredContent$1 = /*#__PURE__*/react.chakra( /*#__PURE__*/React.forwardR
14405
14538
  src: ""
14406
14539
  } : _props$imageProps,
14407
14540
  bodyContent = props.bodyContent,
14408
- rest = _objectWithoutPropertiesLoose(props, _excluded$27);
14541
+ rest = _objectWithoutPropertiesLoose(props, _excluded$28);
14409
14542
 
14410
14543
  var hasImage = imageProps.src || imageProps.component;
14411
14544
  var hasFigureImage = imageProps.caption || imageProps.credit;
@@ -14507,7 +14640,7 @@ var useCarouselStyles = function useCarouselStyles(slidesCount, slideWidth) {
14507
14640
  };
14508
14641
  };
14509
14642
 
14510
- var _excluded$28 = ["children", "defaultIndex", "id", "onChange", "tabsData", "useHash"];
14643
+ var _excluded$29 = ["children", "defaultIndex", "id", "onChange", "tabsData", "useHash"];
14511
14644
  /**
14512
14645
  * An internal function used to update the hash in the URL.
14513
14646
  * This function is only used when `useHash` is `true`.
@@ -14626,7 +14759,7 @@ var Tabs = /*#__PURE__*/react.chakra( /*#__PURE__*/React.forwardRef(function (pr
14626
14759
  tabsData = props.tabsData,
14627
14760
  _props$useHash = props.useHash,
14628
14761
  useHash = _props$useHash === void 0 ? false : _props$useHash,
14629
- rest = _objectWithoutPropertiesLoose(props, _excluded$28);
14762
+ rest = _objectWithoutPropertiesLoose(props, _excluded$29);
14630
14763
 
14631
14764
  var styles = react.useMultiStyleConfig("Tabs", {}); // Just an estimate of the tab width for the mobile carousel.
14632
14765
 
@@ -14716,7 +14849,7 @@ var Tabs = /*#__PURE__*/react.chakra( /*#__PURE__*/React.forwardRef(function (pr
14716
14849
  }, React__default.createElement(react.Box, Object.assign({}, carouselStyle), tabs)), nextButton), panels);
14717
14850
  })); // Tabs is also exported above so the props can display in Storybook.
14718
14851
 
14719
- var _excluded$29 = ["aboveHeader", "breakout", "contentId", "contentBottom", "contentPrimary", "contentSidebar", "contentTop", "footer", "header", "sidebar", "renderFooterElement", "renderHeaderElement", "renderSkipNavigation"];
14852
+ var _excluded$2a = ["aboveHeader", "breakout", "contentId", "contentBottom", "contentPrimary", "contentSidebar", "contentTop", "footer", "header", "sidebar", "renderFooterElement", "renderHeaderElement", "renderSkipNavigation"];
14720
14853
  /**
14721
14854
  * The main top-level parent component that wraps all template-related
14722
14855
  * components.
@@ -14917,7 +15050,9 @@ var TemplateFooter = function TemplateFooter(_ref2) {
14917
15050
  _ref2$renderFooterEle = _ref2.renderFooterElement,
14918
15051
  renderFooterElement = _ref2$renderFooterEle === void 0 ? true : _ref2$renderFooterEle;
14919
15052
  var styles = react.useStyleConfig("TemplateBreakout", {});
14920
- var footerElement = React__default.createElement(React__default.Fragment, null, children); // The user wants to render the `footer` HTML element.
15053
+ var footerElement = React__default.createElement(react.Box, {
15054
+ __css: styles
15055
+ }, children); // The user wants to render the `footer` HTML element.
14921
15056
 
14922
15057
  if (renderFooterElement) {
14923
15058
  // But give a warning if one was passed.
@@ -14964,7 +15099,7 @@ var TemplateAppContainer = /*#__PURE__*/react.chakra( /*#__PURE__*/React.forward
14964
15099
  renderHeaderElement = _props$renderHeaderEl === void 0 ? true : _props$renderHeaderEl,
14965
15100
  _props$renderSkipNavi = props.renderSkipNavigation,
14966
15101
  renderSkipNavigation = _props$renderSkipNavi === void 0 ? false : _props$renderSkipNavi,
14967
- rest = _objectWithoutPropertiesLoose(props, _excluded$29);
15102
+ rest = _objectWithoutPropertiesLoose(props, _excluded$2a);
14968
15103
 
14969
15104
  var aboveHeaderElem = aboveHeader && React__default.createElement(TemplateAboveHeader, null, aboveHeader);
14970
15105
  var contentTopElem = contentTop && React__default.createElement(TemplateContentTop, null, contentTop);
@@ -14983,7 +15118,7 @@ var TemplateAppContainer = /*#__PURE__*/react.chakra( /*#__PURE__*/React.forward
14983
15118
  }, footer)));
14984
15119
  }));
14985
15120
 
14986
- var _excluded$2a = ["defaultChecked", "helperText", "id", "invalidText", "isChecked", "isDisabled", "isInvalid", "isRequired", "labelText", "name", "onChange", "size"];
15121
+ var _excluded$2b = ["defaultChecked", "helperText", "id", "invalidText", "isChecked", "isDisabled", "isInvalid", "isRequired", "labelText", "name", "onChange", "size"];
14987
15122
  var onChangeDefault = function onChangeDefault() {
14988
15123
  return;
14989
15124
  };
@@ -15010,7 +15145,7 @@ var Toggle$2 = /*#__PURE__*/react.chakra( /*#__PURE__*/React.forwardRef(function
15010
15145
  onChange = _props$onChange === void 0 ? onChangeDefault : _props$onChange,
15011
15146
  _props$size = props.size,
15012
15147
  size = _props$size === void 0 ? "default" : _props$size,
15013
- rest = _objectWithoutPropertiesLoose(props, _excluded$2a);
15148
+ rest = _objectWithoutPropertiesLoose(props, _excluded$2b);
15014
15149
 
15015
15150
  var styles = react.useMultiStyleConfig("Toggle", {
15016
15151
  isDisabled: isDisabled,
@@ -15059,7 +15194,7 @@ var Toggle$2 = /*#__PURE__*/react.chakra( /*#__PURE__*/React.forwardRef(function
15059
15194
  }), labelText)));
15060
15195
  }));
15061
15196
 
15062
- var _excluded$2b = ["aspectRatio", "className", "descriptionText", "embedCode", "headingText", "helperText", "id", "iframeTitle", "showHelperInvalidText", "videoId", "videoType"];
15197
+ var _excluded$2c = ["aspectRatio", "className", "descriptionText", "embedCode", "headingText", "helperText", "id", "iframeTitle", "showHelperInvalidText", "videoId", "videoType"];
15063
15198
  var VideoPlayer$1 = /*#__PURE__*/react.chakra( /*#__PURE__*/React.forwardRef(function (props, ref) {
15064
15199
  var aspectRatio = props.aspectRatio,
15065
15200
  className = props.className,
@@ -15073,7 +15208,7 @@ var VideoPlayer$1 = /*#__PURE__*/react.chakra( /*#__PURE__*/React.forwardRef(fun
15073
15208
  showHelperInvalidText = _props$showHelperInva === void 0 ? true : _props$showHelperInva,
15074
15209
  videoId = props.videoId,
15075
15210
  videoType = props.videoType,
15076
- rest = _objectWithoutPropertiesLoose(props, _excluded$2b);
15211
+ rest = _objectWithoutPropertiesLoose(props, _excluded$2c);
15077
15212
 
15078
15213
  var iframeTitleFinal = videoType === "vimeo" ? iframeTitle || "Vimeo video player" : iframeTitle || "YouTube video player";
15079
15214
  var videoSrc = videoType === "vimeo" ? "https://player.vimeo.com/video/" + videoId + "?autoplay=0&loop=0" : "https://www.youtube.com/embed/" + videoId + "?disablekb=1&autoplay=0&fs=1&modestbranding=0";
@@ -15143,13 +15278,13 @@ var VideoPlayer$1 = /*#__PURE__*/react.chakra( /*#__PURE__*/React.forwardRef(fun
15143
15278
  }, embedElement)));
15144
15279
  }));
15145
15280
 
15146
- var _excluded$2c = ["children", "className", "content", "id", "isDisabled", "shouldWrapChildren"];
15281
+ var _excluded$2d = ["children", "className", "content", "id", "isDisabled", "shouldWrapChildren"];
15147
15282
  var Tooltip$1 = /*#__PURE__*/react.chakra( /*#__PURE__*/React.forwardRef(function (props, ref) {
15148
15283
  var children = props.children,
15149
15284
  content = props.content,
15150
15285
  isDisabled = props.isDisabled,
15151
15286
  shouldWrapChildren = props.shouldWrapChildren,
15152
- rest = _objectWithoutPropertiesLoose(props, _excluded$2c);
15287
+ rest = _objectWithoutPropertiesLoose(props, _excluded$2d);
15153
15288
 
15154
15289
  if (typeof content !== "string") {
15155
15290
  React__default.Children.map(content, function (contentChild) {
@@ -15309,6 +15444,7 @@ exports.ColorCard = ColorCard;
15309
15444
  exports.DSProvider = DSProvider;
15310
15445
  exports.DatePicker = DatePicker;
15311
15446
  exports.Fieldset = Fieldset;
15447
+ exports.Footer = Footer$1;
15312
15448
  exports.Form = Form;
15313
15449
  exports.FormField = FormField;
15314
15450
  exports.FormRow = FormRow;