@nypl/design-system-react-components 1.4.2 → 1.5.0-rc

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.
Files changed (63) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +1 -1
  3. package/dist/components/Header/components/HeaderSearchButton.d.ts +2 -2
  4. package/dist/components/Notification/Notification.d.ts +8 -7
  5. package/dist/components/ProgressIndicator/ProgressIndicator.d.ts +1 -1
  6. package/dist/design-system-react-components.cjs.development.js +1185 -203
  7. package/dist/design-system-react-components.cjs.development.js.map +1 -1
  8. package/dist/design-system-react-components.cjs.production.min.js +1 -1
  9. package/dist/design-system-react-components.cjs.production.min.js.map +1 -1
  10. package/dist/design-system-react-components.esm.js +1188 -206
  11. package/dist/design-system-react-components.esm.js.map +1 -1
  12. package/dist/styles.css +1 -1
  13. package/dist/theme/components/accordion.d.ts +14 -0
  14. package/dist/theme/components/audioPlayer.d.ts +7 -0
  15. package/dist/theme/components/breadcrumb.d.ts +28 -0
  16. package/dist/theme/components/button.d.ts +12 -0
  17. package/dist/theme/components/card.d.ts +40 -0
  18. package/dist/theme/components/checkbox.d.ts +67 -0
  19. package/dist/theme/components/customTable.d.ts +103 -2
  20. package/dist/theme/components/feedbackBox.d.ts +22 -0
  21. package/dist/theme/components/fieldset.d.ts +3 -0
  22. package/dist/theme/components/filterBar.d.ts +16 -0
  23. package/dist/theme/components/footer.d.ts +18 -0
  24. package/dist/theme/components/global.d.ts +46 -0
  25. package/dist/theme/components/header/header.d.ts +7 -0
  26. package/dist/theme/components/header/headerLogin.d.ts +18 -0
  27. package/dist/theme/components/header/headerLoginButton.d.ts +15 -0
  28. package/dist/theme/components/header/headerLowerNav.d.ts +32 -0
  29. package/dist/theme/components/header/headerMobileIconNav.d.ts +5 -0
  30. package/dist/theme/components/header/headerMobileNavButton.d.ts +6 -0
  31. package/dist/theme/components/header/headerSearchButton.d.ts +26 -0
  32. package/dist/theme/components/header/headerSearchForm.d.ts +9 -0
  33. package/dist/theme/components/header/headerSitewideAlerts.d.ts +12 -0
  34. package/dist/theme/components/header/headerUpperNav.d.ts +12 -0
  35. package/dist/theme/components/heading.d.ts +9 -0
  36. package/dist/theme/components/helperErrorText.d.ts +3 -0
  37. package/dist/theme/components/hero.d.ts +42 -5
  38. package/dist/theme/components/horizontalRule.d.ts +3 -0
  39. package/dist/theme/components/image.d.ts +54 -0
  40. package/dist/theme/components/label.d.ts +3 -0
  41. package/dist/theme/components/link.d.ts +20 -4
  42. package/dist/theme/components/list.d.ts +46 -0
  43. package/dist/theme/components/modal.d.ts +21 -0
  44. package/dist/theme/components/multiSelectMenuButton.d.ts +23 -0
  45. package/dist/theme/components/notification.d.ts +62 -21
  46. package/dist/theme/components/progressIndicator.d.ts +16 -0
  47. package/dist/theme/components/radio.d.ts +63 -0
  48. package/dist/theme/components/searchBar.d.ts +11 -1
  49. package/dist/theme/components/select.d.ts +39 -0
  50. package/dist/theme/components/skeletonLoader.d.ts +4 -1
  51. package/dist/theme/components/slider.d.ts +21 -2
  52. package/dist/theme/components/statusBadge.d.ts +12 -0
  53. package/dist/theme/components/structuredContent.d.ts +63 -4
  54. package/dist/theme/components/styledList.d.ts +10 -0
  55. package/dist/theme/components/tabs.d.ts +37 -1
  56. package/dist/theme/components/tagSet.d.ts +39 -0
  57. package/dist/theme/components/template.d.ts +3 -0
  58. package/dist/theme/components/textInput.d.ts +194 -0
  59. package/dist/theme/components/toggle.d.ts +39 -3
  60. package/dist/theme/components/tooltip.d.ts +6 -1
  61. package/dist/theme/components/videoPlayer.d.ts +7 -0
  62. package/dist/theme/foundations/global.d.ts +10 -0
  63. package/package.json +1 -1
@@ -1415,7 +1415,7 @@ var _excluded$R = ["accordionData", "id", "isDefaultOpen", "isAlwaysRendered", "
1415
1415
  * Get the minus or plus icon depending on whether the accordion
1416
1416
  * is open or closed.
1417
1417
  */
1418
- var getIcon = function getIcon(isExpanded, index, id) {
1418
+ var getIcon = function getIcon(isExpanded, index, id, iconColor) {
1419
1419
  if (isExpanded === void 0) {
1420
1420
  isExpanded = false;
1421
1421
  }
@@ -1423,7 +1423,8 @@ var getIcon = function getIcon(isExpanded, index, id) {
1423
1423
  return React__default.createElement(Icon, {
1424
1424
  id: "accordion-" + id + "-icon-" + index,
1425
1425
  name: iconName,
1426
- size: "small"
1426
+ size: "small",
1427
+ color: iconColor
1427
1428
  });
1428
1429
  };
1429
1430
  /**
@@ -1431,7 +1432,7 @@ var getIcon = function getIcon(isExpanded, index, id) {
1431
1432
  * array. This automatically creates the `AccordionButton` and `AccordionPanel`
1432
1433
  * combination that is required for the Chakra `Accordion` component.
1433
1434
  */
1434
- var getElementsFromData = function getElementsFromData(data, id, isAlwaysRendered, panelMaxHeight) {
1435
+ var getElementsFromData = function getElementsFromData(data, id, isAlwaysRendered, isDarkMode, panelMaxHeight) {
1435
1436
  var _data, _data2;
1436
1437
  if (data === void 0) {
1437
1438
  data = [];
@@ -1439,7 +1440,11 @@ var getElementsFromData = function getElementsFromData(data, id, isAlwaysRendere
1439
1440
  if (isAlwaysRendered === void 0) {
1440
1441
  isAlwaysRendered = false;
1441
1442
  }
1442
- var colorMap = {
1443
+ var colorMap = isDarkMode ? {
1444
+ "default": "ui.white",
1445
+ warning: "ui.status.primary",
1446
+ error: "dark.ui.error.primary"
1447
+ } : {
1443
1448
  "default": "ui.white",
1444
1449
  warning: "ui.status.primary",
1445
1450
  error: "ui.status.secondary"
@@ -1472,7 +1477,7 @@ var getElementsFromData = function getElementsFromData(data, id, isAlwaysRendere
1472
1477
  var bgColorByAccordionType = colorMap[content.accordionType];
1473
1478
  return React__default.createElement(React__default.Fragment, null, React__default.createElement(react.AccordionButton, {
1474
1479
  id: id + "-button-" + index,
1475
- borderColor: "ui.gray.medium",
1480
+ borderColor: isDarkMode ? "dark.ui.border.default" : "ui.gray.medium",
1476
1481
  padding: multiplePadding,
1477
1482
  bg: !content.accordionType ? colorMap["default"] : bgColorByAccordionType,
1478
1483
  _expanded: {
@@ -1481,13 +1486,22 @@ var getElementsFromData = function getElementsFromData(data, id, isAlwaysRendere
1481
1486
  _hover: {
1482
1487
  bg: !content.accordionType || content.accordionType === "default" ? "transparent" : bgColorByAccordionType,
1483
1488
  borderColor: "ui.gray.dark"
1489
+ },
1490
+ _dark: {
1491
+ _expanded: {
1492
+ bg: "dark.ui.bg.active"
1493
+ },
1494
+ bg: "dark.ui.bg.default",
1495
+ color: "dark.ui.typography.heading",
1496
+ borderLeft: "4px solid",
1497
+ borderLeftColor: !content.accordionType || content.accordionType === "default" ? "dark.ui.border.hover" : bgColorByAccordionType
1484
1498
  }
1485
1499
  }, React__default.createElement(react.Box, {
1486
1500
  as: "span",
1487
1501
  flex: "1",
1488
1502
  fontSize: multipleFontSize,
1489
1503
  textAlign: "left"
1490
- }, content.label), getIcon(isExpanded, index, id)), (isAlwaysRendered || isExpanded) && panel);
1504
+ }, content.label), getIcon(isExpanded, index, id, isDarkMode ? "dark.ui.typography.heading" : "ui.black")), (isAlwaysRendered || isExpanded) && panel);
1491
1505
  });
1492
1506
  });
1493
1507
  };
@@ -1504,6 +1518,7 @@ var Accordion = /*#__PURE__*/react.chakra( /*#__PURE__*/React.forwardRef(functio
1504
1518
  isAlwaysRendered = _props$isAlwaysRender === void 0 ? false : _props$isAlwaysRender,
1505
1519
  panelMaxHeight = props.panelMaxHeight,
1506
1520
  rest = _objectWithoutPropertiesLoose(props, _excluded$R);
1521
+ var isDarkMode = react.useColorMode().colorMode === "dark";
1507
1522
  // Pass `0` to open the first accordion in the 0-index based array.
1508
1523
  var openFirstAccordion = isDefaultOpen ? [0] : undefined;
1509
1524
  return React__default.createElement(react.Accordion, Object.assign({
@@ -1511,7 +1526,7 @@ var Accordion = /*#__PURE__*/react.chakra( /*#__PURE__*/React.forwardRef(functio
1511
1526
  defaultIndex: openFirstAccordion,
1512
1527
  id: id,
1513
1528
  ref: ref
1514
- }, rest), getElementsFromData(accordionData, id, isAlwaysRendered, panelMaxHeight));
1529
+ }, rest), getElementsFromData(accordionData, id, isAlwaysRendered, isDarkMode, panelMaxHeight));
1515
1530
  }));
1516
1531
 
1517
1532
  var _excluded$S = ["buttonType", "children", "className", "id", "isDisabled", "mouseDown", "onClick", "size", "type"];
@@ -2028,13 +2043,15 @@ var AlphabetFilter = /*#__PURE__*/react.chakra( /*#__PURE__*/React.forwardRef(fu
2028
2043
  setSelectedLetter(clickedLetter);
2029
2044
  onClick && onClick(clickedLetter);
2030
2045
  };
2046
+ // Set the color of the border of the selected letter based on the color mode.
2047
+ var selectedLetterBorderColor = react.useColorModeValue("ui.gray.dark", "ui.gray.medium");
2031
2048
  var getButtonElement = function getButtonElement(item) {
2032
2049
  var isSelectedLetter = selectedLetter === item.value && item.value !== "showAll";
2033
2050
  var isShowAll = item.value === "showAll";
2034
2051
  var isButtonDisabled = isDisabled || activeLetters && !activeLetters.includes(item.value) && !isShowAll;
2035
2052
  var buttonStyles = isSelectedLetter ? _extends({}, styles.button, {
2036
2053
  border: "1px solid",
2037
- borderColor: "ui.border.hover"
2054
+ borderColor: selectedLetterBorderColor
2038
2055
  }) : _extends({}, styles.button, {
2039
2056
  border: "1px solid transparent"
2040
2057
  });
@@ -4166,8 +4183,11 @@ var activeFocus = function activeFocus(darkMode) {
4166
4183
  boxShadow: "none",
4167
4184
  outline: "2px solid",
4168
4185
  outlineOffset: "2px",
4169
- outlineColor: darkMode ? "ui.white" : "ui.focus",
4170
- zIndex: "9999"
4186
+ outlineColor: darkMode ? "dark.ui.focus" : "ui.focus",
4187
+ zIndex: "9999",
4188
+ _dark: {
4189
+ outlineColor: "dark.ui.focus"
4190
+ }
4171
4191
  };
4172
4192
  };
4173
4193
  // Used in `Checkbox` and `Radio`.
@@ -4184,6 +4204,14 @@ var checkboxRadioLabelStyles = {
4184
4204
  },
4185
4205
  _invalid: {
4186
4206
  color: "ui.error.primary"
4207
+ },
4208
+ _dark: {
4209
+ _disabled: {
4210
+ color: "dark.ui.disabled.primary"
4211
+ },
4212
+ _invalid: {
4213
+ color: "dark.ui.error.primary"
4214
+ }
4187
4215
  }
4188
4216
  };
4189
4217
  // Custom values not in the spacing theme.
@@ -4216,6 +4244,22 @@ var checkboxRadioHoverStyles = {
4216
4244
  _invalid: {
4217
4245
  borderColor: "ui.error.primary"
4218
4246
  }
4247
+ },
4248
+ _dark: {
4249
+ span: {
4250
+ _first: {
4251
+ borderColor: "ui.gray.dark"
4252
+ },
4253
+ _checked: {
4254
+ borderColor: "dark.ui.focus"
4255
+ },
4256
+ _disabled: {
4257
+ borderColor: "dark.ui.disabled.primary"
4258
+ },
4259
+ _invalid: {
4260
+ borderColor: "dark.ui.error.primary"
4261
+ }
4262
+ }
4219
4263
  }
4220
4264
  }
4221
4265
  };
@@ -4245,6 +4289,9 @@ var labelLegendText = {
4245
4289
  width: "100%",
4246
4290
  span: {
4247
4291
  fontWeight: "regular"
4292
+ },
4293
+ _dark: {
4294
+ color: "dark.ui.typography.heading"
4248
4295
  }
4249
4296
  };
4250
4297
  // Used for the disabled state of Select and TextInput
@@ -4252,11 +4299,19 @@ var selectTextInputDisabledStyles = {
4252
4299
  bg: "ui.disabled.secondary",
4253
4300
  borderColor: "ui.disabled.primary",
4254
4301
  color: "ui.gray.dark",
4255
- opacity: "1"
4302
+ opacity: "1",
4303
+ _dark: {
4304
+ bg: "dark.ui.bg.default",
4305
+ borderColor: "dark.ui.disabled.secondary",
4306
+ color: "dark.ui.disabled.primary"
4307
+ }
4256
4308
  };
4257
4309
  // Used for the focus state of Select and TextInput
4258
4310
  var selectTextInputFocusStyles = /*#__PURE__*/_extends({}, /*#__PURE__*/activeFocus(), {
4259
- borderColor: "ui.focus"
4311
+ borderColor: "ui.focus",
4312
+ _dark: /*#__PURE__*/_extends({}, /*#__PURE__*/activeFocus(true), {
4313
+ borderColor: "dark.ui.focus"
4314
+ })
4260
4315
  });
4261
4316
  // Used for p, ul, and ol
4262
4317
  var textMargin = {
@@ -4278,7 +4333,11 @@ var global = {
4278
4333
  fontSize: "text.default",
4279
4334
  fontWeight: "text.default",
4280
4335
  lineHeight: "1.5",
4281
- overflowX: "hidden"
4336
+ overflowX: "hidden",
4337
+ _dark: {
4338
+ bg: "dark.ui.bg.page",
4339
+ color: "dark.ui.typography.body"
4340
+ }
4282
4341
  },
4283
4342
  // styles for the `a` element
4284
4343
  a: {
@@ -4360,9 +4419,86 @@ var linkPrimary = "#0576D3";
4360
4419
  var linkSecondary = "#004B98";
4361
4420
  var brandPrimary = "#C60917";
4362
4421
  var brandSecondary = "#760000";
4422
+ var blogsPrimary = grayLightCool;
4423
+ var blogsSecondary = grayMedium;
4424
+ var educationPrimary = "#1D62E6";
4425
+ var educationSecondary = "#2540A4";
4426
+ var researchPrimary = "#00838A";
4427
+ var researchSecondary = "#006166";
4428
+ var researchLibraryLpa = "#005D53";
4429
+ var researchLibrarySchomburg = "#A03E31";
4430
+ var researchLibrarySchwartzman = brandSecondary;
4431
+ var whatsOnPrimary = "#242424";
4432
+ var whatsOnSecondary = black;
4363
4433
  var brandObj = {
4364
- primary: brandPrimary,
4365
- secondary: brandSecondary
4434
+ light: {
4435
+ primary: brandPrimary,
4436
+ secondary: brandSecondary
4437
+ },
4438
+ dark: {
4439
+ primary: /*#__PURE__*/hexToRGB(brandPrimary, 0.2),
4440
+ secondary: /*#__PURE__*/hexToRGB(brandSecondary, 0.2)
4441
+ }
4442
+ };
4443
+ var blogsObj = {
4444
+ light: {
4445
+ primary: blogsPrimary,
4446
+ secondary: blogsSecondary
4447
+ },
4448
+ dark: {
4449
+ primary: /*#__PURE__*/hexToRGB(blogsPrimary, 0.2),
4450
+ secondary: /*#__PURE__*/hexToRGB(blogsSecondary, 0.2)
4451
+ }
4452
+ };
4453
+ var booksAndMoreObj = {
4454
+ light: brandObj.light,
4455
+ dark: brandObj.dark
4456
+ };
4457
+ var educationObj = {
4458
+ light: {
4459
+ primary: educationPrimary,
4460
+ secondary: educationSecondary
4461
+ },
4462
+ dark: {
4463
+ primary: /*#__PURE__*/hexToRGB(educationPrimary, 0.2),
4464
+ secondary: /*#__PURE__*/hexToRGB(educationSecondary, 0.2)
4465
+ }
4466
+ };
4467
+ var locationsObj = {
4468
+ light: brandObj.light,
4469
+ dark: brandObj.dark
4470
+ };
4471
+ var researchObj = {
4472
+ light: {
4473
+ primary: researchPrimary,
4474
+ secondary: researchSecondary
4475
+ },
4476
+ dark: {
4477
+ primary: /*#__PURE__*/hexToRGB(researchPrimary, 0.2),
4478
+ secondary: /*#__PURE__*/hexToRGB(researchSecondary, 0.2)
4479
+ }
4480
+ };
4481
+ var researchLibraryObj = {
4482
+ light: {
4483
+ lpa: researchLibraryLpa,
4484
+ schomburg: researchLibrarySchomburg,
4485
+ schwatzman: researchLibrarySchwartzman
4486
+ },
4487
+ dark: {
4488
+ lpa: /*#__PURE__*/hexToRGB(researchLibraryLpa, 0.2),
4489
+ schomburg: /*#__PURE__*/hexToRGB(researchLibrarySchomburg, 0.2),
4490
+ schwatzman: /*#__PURE__*/hexToRGB(researchLibrarySchwartzman, 0.2)
4491
+ }
4492
+ };
4493
+ var whatsOnObj = {
4494
+ light: {
4495
+ primary: whatsOnPrimary,
4496
+ secondary: whatsOnSecondary
4497
+ },
4498
+ dark: {
4499
+ primary: /*#__PURE__*/hexToRGB(grayLightCool, 0.2),
4500
+ secondary: /*#__PURE__*/hexToRGB(white, 0.05)
4501
+ }
4366
4502
  };
4367
4503
  var colors = {
4368
4504
  transparent: "transparent",
@@ -4400,7 +4536,6 @@ var colors = {
4400
4536
  },
4401
4537
  // Semantic colors
4402
4538
  bg: {
4403
- page: white,
4404
4539
  "default": grayxLightCool,
4405
4540
  hover: grayLightCool,
4406
4541
  active: grayMedium
@@ -4433,12 +4568,22 @@ var colors = {
4433
4568
  "x-light-warm": "#F8F8F7"
4434
4569
  }
4435
4570
  },
4436
- // dark mode ui fills
4571
+ // dark mode fills
4437
4572
  dark: {
4573
+ brand: brandObj.dark,
4574
+ section: {
4575
+ blogs: blogsObj.dark,
4576
+ "books-and-more": booksAndMoreObj.dark,
4577
+ education: educationObj.dark,
4578
+ locations: locationsObj.dark,
4579
+ research: researchObj.dark,
4580
+ "research-library": researchLibraryObj.dark,
4581
+ "whats-on": whatsOnObj.dark
4582
+ },
4438
4583
  ui: {
4439
4584
  /// State and link utilities
4440
4585
  disabled: {
4441
- primary: grayxDark,
4586
+ primary: grayDark,
4442
4587
  secondary: grayxxDark
4443
4588
  },
4444
4589
  error: {
@@ -4448,6 +4593,8 @@ var colors = {
4448
4593
  focus: "#6090E3",
4449
4594
  link: {
4450
4595
  primary: "#79B7EB",
4596
+ "primary-05": /*#__PURE__*/hexToRGB("#79B7EB", 0.05),
4597
+ "primary-10": /*#__PURE__*/hexToRGB("#79B7EB", 0.1),
4451
4598
  secondary: "#95CFFF"
4452
4599
  },
4453
4600
  status: {
@@ -4478,49 +4625,33 @@ var colors = {
4478
4625
  heading: grayLightCool,
4479
4626
  body: grayMedium,
4480
4627
  inverse: {
4481
- heading: grayxxDark,
4482
- body: grayxxDark
4628
+ heading: grayxxxDark,
4629
+ body: grayxxxDark
4483
4630
  }
4484
4631
  }
4485
4632
  }
4486
4633
  },
4487
4634
  /** Brand fills are the NYPL primary and secondary colors. */
4488
- brand: brandObj,
4635
+ brand: brandObj.light,
4489
4636
  /** Brand fills for sections on NYPL pages. */
4490
4637
  section: {
4491
4638
  /** Blogs is used for the Blogs section. */
4492
- blogs: {
4493
- primary: grayLightCool,
4494
- secondary: grayMedium
4495
- },
4639
+ blogs: blogsObj.light,
4496
4640
  /** Books and More is used for the Catalog, Staff Picks, Recommendations,
4497
4641
  * New Arrivals, and E-Book Central. */
4498
- "books-and-more": brandObj,
4642
+ "books-and-more": booksAndMoreObj.light,
4499
4643
  /** Education is used for the Education section front and associated
4500
4644
  * sub-sections. */
4501
- education: {
4502
- primary: "#1D62E6",
4503
- secondary: "#2540A4"
4504
- },
4645
+ education: educationObj.light,
4505
4646
  /** Locations is used for Location Finder and all branch pages with
4506
4647
  * the exceptions of some research libraries. */
4507
- locations: brandObj,
4648
+ locations: locationsObj.light,
4508
4649
  /** Research is used for the Research Catalog and SCC. */
4509
- research: {
4510
- primary: "#00838A",
4511
- secondary: "#006166"
4512
- },
4650
+ research: researchObj.light,
4513
4651
  /** Research libraries with specific brand colors to adhere to. */
4514
- "research-library": {
4515
- lpa: "#005D53",
4516
- schomburg: "#A03E31",
4517
- schwartzman: brandSecondary
4518
- },
4652
+ "research-library": researchLibraryObj.light,
4519
4653
  /** What's On is used for Exhibitions & Events. */
4520
- "whats-on": {
4521
- primary: "#242424",
4522
- secondary: black
4523
- }
4654
+ "whats-on": whatsOnObj.light
4524
4655
  },
4525
4656
  /**
4526
4657
  * The following color scales are useful for color edge cases where a
@@ -4726,17 +4857,31 @@ var typography = {
4726
4857
 
4727
4858
  var containerStyles = {
4728
4859
  border: "none",
4729
- width: "100%"
4860
+ width: "100%",
4861
+ _dark: {
4862
+ bg: "dark.ui.bg.default",
4863
+ color: "dark.ui.typography.heading",
4864
+ borderColor: "dark.ui.border.default"
4865
+ }
4730
4866
  };
4731
4867
  var buttonStyles = {
4732
4868
  borderWidth: "1px",
4733
- fontWeight: "medium"
4869
+ fontWeight: "medium",
4870
+ _dark: {
4871
+ bg: "dark.ui.bg.default",
4872
+ color: "dark.ui.typography.heading"
4873
+ }
4734
4874
  };
4735
4875
  var panelStyles = {
4736
4876
  padding: "s",
4737
4877
  borderLeftWidth: "1px",
4738
4878
  borderRightWidth: "1px",
4739
- borderBottomWidth: "1px"
4879
+ borderBottomWidth: "1px",
4880
+ _dark: {
4881
+ bg: "dark.ui.bg.default",
4882
+ color: "dark.ui.typography.body",
4883
+ borderColor: "dark.ui.border.default"
4884
+ }
4740
4885
  };
4741
4886
  var Accordion$1 = {
4742
4887
  parts: ["container", "button", "panel"],
@@ -4784,7 +4929,14 @@ var AudioPlayer$1 = {
4784
4929
  baseStyle: {
4785
4930
  invalid: {
4786
4931
  backgroundColor: "ui.bg.default",
4787
- padding: "s"
4932
+ border: "1px solid",
4933
+ borderColor: "ui.border.default",
4934
+ padding: "s",
4935
+ _dark: {
4936
+ bg: "dark.ui.bg.default",
4937
+ border: "1px solid",
4938
+ borderColor: "dark.ui.border.default"
4939
+ }
4788
4940
  }
4789
4941
  }
4790
4942
  };
@@ -4793,6 +4945,9 @@ var AudioPlayer$1 = {
4793
4945
  var blogs = {
4794
4946
  bg: "section.blogs.secondary",
4795
4947
  color: "ui.black",
4948
+ _dark: {
4949
+ bg: "dark.section.blogs.secondary"
4950
+ },
4796
4951
  a: {
4797
4952
  _hover: {
4798
4953
  color: "ui.gray.x-dark"
@@ -4803,19 +4958,40 @@ var blogs = {
4803
4958
  }
4804
4959
  };
4805
4960
  var booksAndMore = {
4806
- bg: "section.books-and-more.secondary"
4961
+ bg: "section.books-and-more.secondary",
4962
+ _dark: {
4963
+ bg: "dark.section.books-and-more.secondary"
4964
+ }
4965
+ };
4966
+ var brand = {
4967
+ bg: "brand.secondary",
4968
+ _dark: {
4969
+ bg: "dark.brand.secondary"
4970
+ }
4807
4971
  };
4808
4972
  var education = {
4809
- bg: "section.education.secondary"
4973
+ bg: "section.education.secondary",
4974
+ _dark: {
4975
+ bg: "dark.section.education.secondary"
4976
+ }
4810
4977
  };
4811
4978
  var locations = {
4812
- bg: "section.locations.primary"
4979
+ bg: "section.locations.primary",
4980
+ _dark: {
4981
+ bg: "dark.section.locations.primary"
4982
+ }
4813
4983
  };
4814
4984
  var research = {
4815
- bg: "section.research.secondary"
4985
+ bg: "section.research.secondary",
4986
+ _dark: {
4987
+ bg: "dark.section.research.secondary"
4988
+ }
4816
4989
  };
4817
4990
  var whatsOn = {
4818
- bg: "section.whats-on.secondary"
4991
+ bg: "section.whats-on.secondary",
4992
+ _dark: {
4993
+ bg: "dark.section.whats-on.secondary"
4994
+ }
4819
4995
  };
4820
4996
  var Breadcrumb = {
4821
4997
  baseStyle: {
@@ -4825,6 +5001,10 @@ var Breadcrumb = {
4825
5001
  fontWeight: "breadcrumbs.default",
4826
5002
  paddingBottom: "xs",
4827
5003
  paddingTop: "xs",
5004
+ _dark: {
5005
+ bg: "dark.ui.bg.hover",
5006
+ color: "dark.ui.typography.heading"
5007
+ },
4828
5008
  ol: {
4829
5009
  alignItems: {
4830
5010
  base: "center",
@@ -4895,6 +5075,7 @@ var Breadcrumb = {
4895
5075
  variants: {
4896
5076
  blogs: blogs,
4897
5077
  booksAndMore: booksAndMore,
5078
+ brand: brand,
4898
5079
  education: education,
4899
5080
  locations: locations,
4900
5081
  research: research,
@@ -4928,6 +5109,26 @@ var buttonBaseStyle = {
4928
5109
  color: "ui.gray.dark",
4929
5110
  opacity: "1",
4930
5111
  pointerEvents: "none"
5112
+ },
5113
+ _dark: {
5114
+ _disabled: {
5115
+ bg: "dark.ui.disabled.secondary",
5116
+ color: "dark.ui.disabled.primary"
5117
+ }
5118
+ }
5119
+ };
5120
+ var ghostDarkStyles = {
5121
+ bg: "transparent",
5122
+ borderColor: "dark.ui.link.primary",
5123
+ color: "dark.ui.link.primary",
5124
+ _hover: {
5125
+ bg: "dark.ui.link.primary-10",
5126
+ borderColor: "dark.ui.link.secondary",
5127
+ color: "dark.ui.link.secondary"
5128
+ },
5129
+ _disabled: {
5130
+ bg: "dark.ui.bg.default",
5131
+ borderColor: "dark.ui.disabled.primary"
4931
5132
  }
4932
5133
  };
4933
5134
  var generalSizeValues = function generalSizeValues(size, isPill) {
@@ -4972,7 +5173,16 @@ var primary = function primary(_ref) {
4972
5173
  buttonSize = _ref$buttonSize === void 0 ? "medium" : _ref$buttonSize;
4973
5174
  return _extends({
4974
5175
  bg: "ui.link.primary"
4975
- }, generalSizeValues(buttonSize));
5176
+ }, generalSizeValues(buttonSize), {
5177
+ _dark: {
5178
+ bg: "dark.ui.link.primary",
5179
+ color: "ui.gray.xxx-dark",
5180
+ _hover: {
5181
+ bg: "dark.ui.link.secondary",
5182
+ color: "ui.gray.xxx-dark"
5183
+ }
5184
+ }
5185
+ });
4976
5186
  };
4977
5187
  var secondary = function secondary(_ref2) {
4978
5188
  var _ref2$buttonSize = _ref2.buttonSize,
@@ -4992,7 +5202,8 @@ var secondary = function secondary(_ref2) {
4992
5202
  bg: "transparent",
4993
5203
  borderColor: "ui.disabled.primary",
4994
5204
  color: "ui.disabled.primary"
4995
- }
5205
+ },
5206
+ _dark: _extends({}, ghostDarkStyles)
4996
5207
  });
4997
5208
  };
4998
5209
  // The "link" type is deprecated but we still want to style
@@ -5011,6 +5222,15 @@ var link = function link(_ref3) {
5011
5222
  _hover: {
5012
5223
  bg: "transparent",
5013
5224
  color: "ui.link.secondary"
5225
+ },
5226
+ _dark: {
5227
+ color: "dark.ui.link.primary",
5228
+ _disabled: {
5229
+ bg: "transparent"
5230
+ },
5231
+ _hover: {
5232
+ color: "dark.ui.link.secondary"
5233
+ }
5014
5234
  }
5015
5235
  });
5016
5236
  };
@@ -5027,6 +5247,15 @@ var text = function text(_ref4) {
5027
5247
  _hover: {
5028
5248
  bg: "ui.link.primary-05",
5029
5249
  color: "ui.link.secondary"
5250
+ },
5251
+ _dark: {
5252
+ color: "dark.ui.link.primary",
5253
+ _disabled: {
5254
+ bg: "transparent"
5255
+ },
5256
+ _hover: {
5257
+ color: "dark.ui.link.secondary"
5258
+ }
5030
5259
  }
5031
5260
  });
5032
5261
  };
@@ -5036,7 +5265,7 @@ var pill = function pill(_ref5) {
5036
5265
  return _extends({
5037
5266
  bg: "ui.white",
5038
5267
  border: "1px solid",
5039
- borderColor: "ui.gray.light-cool",
5268
+ borderColor: "ui.border.default",
5040
5269
  borderRadius: "button.pill",
5041
5270
  color: "inherit"
5042
5271
  }, generalSizeValues(buttonSize, true), {
@@ -5046,6 +5275,16 @@ var pill = function pill(_ref5) {
5046
5275
  },
5047
5276
  _disabled: {
5048
5277
  bg: "ui.gray.x-light-cool"
5278
+ },
5279
+ _dark: {
5280
+ background: "transparent",
5281
+ borderColor: "dark.ui.border.default",
5282
+ color: "dark.ui.typography.heading",
5283
+ _hover: {
5284
+ background: "dark.ui.bg.hover",
5285
+ borderColor: "dark.ui.border.hover",
5286
+ color: "dark.ui.typography.heading"
5287
+ }
5049
5288
  }
5050
5289
  });
5051
5290
  };
@@ -5064,7 +5303,8 @@ var iconOnly = function iconOnly(_ref6) {
5064
5303
  bg: "ui.link.primary-05",
5065
5304
  borderColor: "ui.link.secondary",
5066
5305
  color: "ui.link.secondary"
5067
- }
5306
+ },
5307
+ _dark: _extends({}, ghostDarkStyles)
5068
5308
  });
5069
5309
  };
5070
5310
  var callout = function callout(_ref7) {
@@ -5078,6 +5318,14 @@ var callout = function callout(_ref7) {
5078
5318
  },
5079
5319
  _active: {
5080
5320
  bg: "brand.secondary"
5321
+ },
5322
+ _dark: {
5323
+ bg: "brand.primary",
5324
+ color: "ui.white",
5325
+ _hover: {
5326
+ bg: "brand.secondary",
5327
+ color: "ui.white"
5328
+ }
5081
5329
  }
5082
5330
  });
5083
5331
  };
@@ -5090,6 +5338,14 @@ var noBrand = function noBrand(_ref8) {
5090
5338
  }, generalSizeValues(buttonSize), {
5091
5339
  _hover: {
5092
5340
  bg: "ui.gray.x-dark"
5341
+ },
5342
+ _dark: {
5343
+ bg: "ui.gray.x-dark",
5344
+ color: "ui.white",
5345
+ _hover: {
5346
+ bg: "ui.gray.dark",
5347
+ color: "ui.white"
5348
+ }
5093
5349
  }
5094
5350
  });
5095
5351
  };
@@ -5207,7 +5463,10 @@ var Card$1 = {
5207
5463
  } : {};
5208
5464
  var baseBorderStyles = isBordered ? {
5209
5465
  border: "1px solid",
5210
- borderColor: "ui.gray.medium"
5466
+ borderColor: "ui.border.default",
5467
+ _dark: {
5468
+ borderColor: "dark.ui.border.default"
5469
+ }
5211
5470
  } : {};
5212
5471
  var bodyPadding = getBodyPaddingStyles({
5213
5472
  isBordered: isBordered,
@@ -5266,8 +5525,13 @@ var Card$1 = {
5266
5525
  heading: {
5267
5526
  marginBottom: "xs",
5268
5527
  a: mainActionLink ? {
5269
- color: "ui.black"
5270
- } : null
5528
+ color: "ui.typography.heading"
5529
+ } : null,
5530
+ _dark: {
5531
+ a: mainActionLink ? {
5532
+ color: "dark.ui.typography.heading"
5533
+ } : null
5534
+ }
5271
5535
  }
5272
5536
  }, baseBorderStyles, layoutStyles);
5273
5537
  }
@@ -5302,7 +5566,10 @@ var CardActions$1 = {
5302
5566
  }
5303
5567
  }, topBorderStyles, bottomBorderStyles, {
5304
5568
  justifyContent: justifyContent,
5305
- borderColor: "ui.gray.medium"
5569
+ borderColor: "ui.border.default",
5570
+ _dark: {
5571
+ borderColor: "dark.ui.border.default"
5572
+ }
5306
5573
  });
5307
5574
  }
5308
5575
  };
@@ -5411,6 +5678,49 @@ var baseStyleControl = {
5411
5678
  _invalid: {
5412
5679
  borderColor: "ui.error.primary",
5413
5680
  color: "ui.error.primary"
5681
+ },
5682
+ _dark: {
5683
+ borderColor: "dark.ui.border.default",
5684
+ backgroundColor: "dark.ui.bg.default",
5685
+ color: "dark.ui.typography.body",
5686
+ _checked: {
5687
+ borderColor: "dark.ui.focus",
5688
+ color: "dark.ui.focus",
5689
+ _disabled: {
5690
+ backgroundColor: "dark.ui.bg.default",
5691
+ borderColor: "dark.ui.disabled.secondary",
5692
+ svg: {
5693
+ color: "dark.ui.disabled.secondary"
5694
+ }
5695
+ },
5696
+ _indeterminate: {
5697
+ color: "dark.ui.focus",
5698
+ borderColor: "dark.ui.focus"
5699
+ },
5700
+ _invalid: {
5701
+ borderColor: "dark.ui.error.primary",
5702
+ color: "dark.ui.error.primary"
5703
+ }
5704
+ },
5705
+ _indeterminate: {
5706
+ color: "dark.ui.focus",
5707
+ borderColor: "dark.ui.focus"
5708
+ },
5709
+ _disabled: {
5710
+ backgroundColor: "dark.ui.bg.default",
5711
+ borderColor: "dark.ui.disabled.secondary",
5712
+ svg: {
5713
+ color: "dark.ui.disabled.secondary"
5714
+ }
5715
+ },
5716
+ _focus: {
5717
+ boxShadow: "none",
5718
+ outlineColor: "dark.ui.focus"
5719
+ },
5720
+ _invalid: {
5721
+ borderColor: "dark.ui.error.primary",
5722
+ color: "dark.ui.error.primary"
5723
+ }
5414
5724
  }
5415
5725
  };
5416
5726
  // Style object for the Checkbox's label
@@ -5540,8 +5850,11 @@ var CustomImage = {
5540
5850
  width: "100%"
5541
5851
  }, imageSizes$1[size], {
5542
5852
  img: {
5543
- backgroundColor: "ui.gray.x-light-cool",
5544
- marginBottom: "xxs"
5853
+ backgroundColor: "ui.bg.default",
5854
+ marginBottom: "xxs",
5855
+ _dark: {
5856
+ backgroundColor: "dark.ui.bg.default"
5857
+ }
5545
5858
  }
5546
5859
  }),
5547
5860
  figcaption: {
@@ -5550,12 +5863,16 @@ var CustomImage = {
5550
5863
  },
5551
5864
  img: _extends({
5552
5865
  display: "block",
5553
- backgroundColor: "ui.gray.x-light-cool",
5866
+ backgroundColor: "ui.bg.default",
5554
5867
  boxSizing: "border-box",
5555
5868
  objectFit: "cover",
5556
5869
  position: "relative",
5557
5870
  width: "100%"
5558
- }, imageSizes$1[size]),
5871
+ }, imageSizes$1[size], {
5872
+ _dark: {
5873
+ backgroundColor: "dark.ui.bg.default"
5874
+ }
5875
+ }),
5559
5876
  captionWrappers: {
5560
5877
  marginTop: "xxs"
5561
5878
  }
@@ -5576,13 +5893,16 @@ var CustomImageWrapper = {
5576
5893
  }, imageSizes$1[size], {
5577
5894
  crop: _extends({}, imageRatios[ratio]),
5578
5895
  img: {
5579
- backgroundColor: "ui.gray.x-light-cool",
5896
+ backgroundColor: "ui.bg.default",
5580
5897
  height: "100%",
5581
5898
  left: "0",
5582
5899
  maxWidth: "100%",
5583
5900
  position: "absolute",
5584
5901
  top: "0",
5585
- width: "100%"
5902
+ width: "100%",
5903
+ _dark: {
5904
+ backgroundColor: "dark.ui.bg.default"
5905
+ }
5586
5906
  }
5587
5907
  });
5588
5908
  }
@@ -5617,7 +5937,19 @@ var select = {
5617
5937
  _invalid: {
5618
5938
  border: "1px solid",
5619
5939
  borderColor: "ui.error.primary",
5620
- boxShadow: "none"
5940
+ boxShadow: "none",
5941
+ color: "ui.error.primary"
5942
+ },
5943
+ _dark: {
5944
+ backgroundColor: "dark.ui.bg.default",
5945
+ borderColor: "dark.ui.border.default",
5946
+ _hover: {
5947
+ borderColor: "dark.ui.border.hover"
5948
+ },
5949
+ _invalid: {
5950
+ borderColor: "dark.ui.error.primary",
5951
+ color: "dark.ui.error.primary"
5952
+ }
5621
5953
  }
5622
5954
  };
5623
5955
  var Select = {
@@ -5689,11 +6021,25 @@ var FeedbackBox = {
5689
6021
  p: "0",
5690
6022
  position: "absolute",
5691
6023
  span: /*#__PURE__*/screenreaderOnly(),
5692
- top: "xs"
6024
+ top: "xs",
6025
+ _dark: {
6026
+ svg: {
6027
+ fill: "dark.ui.typography.heading"
6028
+ }
6029
+ }
5693
6030
  },
5694
6031
  drawerBody: {
6032
+ borderLeft: {
6033
+ base: undefined,
6034
+ md: "1px solid"
6035
+ },
6036
+ borderColor: "ui.border.default",
5695
6037
  paddingTop: "m",
5696
- paddingBottom: "m"
6038
+ paddingBottom: "m",
6039
+ _dark: {
6040
+ background: "dark.ui.bg.page",
6041
+ borderColor: "dark.ui.border.default"
6042
+ }
5697
6043
  },
5698
6044
  drawerContent: {
5699
6045
  marginStart: "auto",
@@ -5706,6 +6052,11 @@ var FeedbackBox = {
5706
6052
  alignItems: "baseline",
5707
6053
  background: "ui.gray.light-cool",
5708
6054
  borderBottomWidth: "1px",
6055
+ borderLeftWidth: {
6056
+ base: undefined,
6057
+ md: "1px"
6058
+ },
6059
+ borderTopWidth: "1px",
5709
6060
  display: "flex",
5710
6061
  fontSize: "text.default",
5711
6062
  px: "m",
@@ -5713,6 +6064,9 @@ var FeedbackBox = {
5713
6064
  paddingBottom: "s",
5714
6065
  p: {
5715
6066
  marginBottom: "0"
6067
+ },
6068
+ _dark: {
6069
+ background: "dark.ui.bg.hover"
5716
6070
  }
5717
6071
  },
5718
6072
  openButton: {
@@ -5749,16 +6103,32 @@ var filterBarWidth = {
5749
6103
  }
5750
6104
  };
5751
6105
  var FilterBar = {
5752
- parts: ["modalHeader", "modalFooter", "modalCloseButton", "globalButtonGroup", "globalButtonGroupWrapper"],
6106
+ parts: ["modalBody", "modalHeader", "modalFooter", "modalCloseButton", "globalButtonGroup", "globalButtonGroupWrapper"],
5753
6107
  baseStyle: function baseStyle(_ref) {
5754
6108
  var width = _ref.width;
5755
6109
  return {
5756
6110
  width: "full",
6111
+ modalBody: {
6112
+ _dark: {
6113
+ background: "dark.ui.bg.page"
6114
+ }
6115
+ },
5757
6116
  modalHeader: {
5758
- bg: "ui.gray.x-light-cool"
6117
+ bg: "ui.bg.default",
6118
+ _dark: {
6119
+ background: "dark.ui.bg.default",
6120
+ borderBottom: "1px solid",
6121
+ borderColor: "dark.ui.border.default"
6122
+ }
5759
6123
  },
5760
6124
  modalFooter: {
5761
- bg: "ui.gray.x-light-cool"
6125
+ bg: "ui.bg.default",
6126
+ _dark: {
6127
+ background: "dark.ui.bg.default",
6128
+ borderTop: "1px solid",
6129
+ borderColor: "dark.ui.border.default",
6130
+ color: "dark.ui.typography.heading"
6131
+ }
5762
6132
  },
5763
6133
  modalCloseButton: {
5764
6134
  mt: "8px"
@@ -5782,6 +6152,9 @@ var Footer = {
5782
6152
  lg: "30px 0"
5783
6153
  },
5784
6154
  position: "relative",
6155
+ _dark: {
6156
+ backgroundColor: "dark.ui.bg.default"
6157
+ },
5785
6158
  // The two main lists.
5786
6159
  listsContainer: {
5787
6160
  display: "flex",
@@ -5895,7 +6268,10 @@ var Footer = {
5895
6268
  textDecoration: "none",
5896
6269
  svg: {
5897
6270
  width: "36px",
5898
- height: "36px"
6271
+ height: "36px",
6272
+ _dark: {
6273
+ fill: "dark.ui.typography.body"
6274
+ }
5899
6275
  }
5900
6276
  }
5901
6277
  }
@@ -5914,11 +6290,17 @@ var Footer = {
5914
6290
  backgroundColor: footerGray,
5915
6291
  outline: "solid 2px",
5916
6292
  outlineColor: "ui.white"
6293
+ },
6294
+ _dark: {
6295
+ color: "dark.ui.typography.body"
5917
6296
  }
5918
6297
  },
5919
6298
  // All SVGs in the footer.
5920
6299
  svg: {
5921
- fill: "ui.white"
6300
+ fill: "ui.white",
6301
+ _dark: {
6302
+ color: "dark.ui.typography.body"
6303
+ }
5922
6304
  },
5923
6305
  // For the floating NYPL logo.
5924
6306
  logoContainer: {
@@ -5958,10 +6340,16 @@ var Footer = {
5958
6340
  width: {
5959
6341
  md: "400px"
5960
6342
  },
6343
+ _dark: {
6344
+ color: "dark.ui.typography.body"
6345
+ },
5961
6346
  img: {
5962
6347
  bg: "transparent",
5963
6348
  height: "auto",
5964
- width: "100%"
6349
+ width: "100%",
6350
+ _dark: {
6351
+ opacity: "0.8"
6352
+ }
5965
6353
  }
5966
6354
  },
5967
6355
  copyright: {
@@ -5986,6 +6374,7 @@ var headerDarkBlue = "#135772";
5986
6374
  var headerFocusColor = "#0F465C";
5987
6375
  var headerLightBlue = "#78CCED";
5988
6376
  var headerRed = "#ED1C24";
6377
+ var headerRedDarkMode = "#DC6F73";
5989
6378
  var headerRedDonate = "#E32B31";
5990
6379
  var headerYellow = "#FEE34A";
5991
6380
  var headerFocus = {
@@ -5999,6 +6388,9 @@ var Header = {
5999
6388
  parts: ["container", "horizontalRule", "logo"],
6000
6389
  baseStyle: {
6001
6390
  fontFamily: "'system-ui', 'Segoe UI', Tahoma, 'Helvetica', 'arial'",
6391
+ _dark: {
6392
+ backgroundColor: "dark.ui.bg.default"
6393
+ },
6002
6394
  container: {
6003
6395
  marginX: {
6004
6396
  md: "20px",
@@ -6014,7 +6406,10 @@ var Header = {
6014
6406
  horizontalRule: {
6015
6407
  bg: headerRed,
6016
6408
  marginTop: "0",
6017
- marginBottom: "0"
6409
+ marginBottom: "0",
6410
+ _dark: {
6411
+ backgroundColor: "dark.brand.primary"
6412
+ }
6018
6413
  },
6019
6414
  logo: {
6020
6415
  padding: {
@@ -6201,7 +6596,16 @@ var HeaderLogin = {
6201
6596
  base: "0",
6202
6597
  md: "28px"
6203
6598
  }
6204
- })
6599
+ }),
6600
+ _dark: {
6601
+ color: "ui.gray.xx-dark",
6602
+ svg: {
6603
+ fill: "ui.gray.xx-dark"
6604
+ },
6605
+ _hover: {
6606
+ color: "ui.gray.xx-dark"
6607
+ }
6608
+ }
6205
6609
  },
6206
6610
  patronGreeting: {
6207
6611
  alignSelf: "flex-start",
@@ -6298,7 +6702,16 @@ var HeaderLogin = {
6298
6702
  base: "0",
6299
6703
  md: "28px !important"
6300
6704
  }
6301
- })
6705
+ }),
6706
+ _dark: {
6707
+ color: "ui.gray.xx-dark",
6708
+ svg: {
6709
+ fill: "ui.gray.xx-dark"
6710
+ },
6711
+ _hover: {
6712
+ color: "ui.gray.xx-dark"
6713
+ }
6714
+ }
6302
6715
  }
6303
6716
  };
6304
6717
  }
@@ -6348,7 +6761,22 @@ var HeaderLoginButton = {
6348
6761
  },
6349
6762
  textDecoration: "none"
6350
6763
  },
6351
- _focus: headerFocus
6764
+ _focus: headerFocus,
6765
+ _dark: {
6766
+ bg: {
6767
+ base: isOpen ? headerBlack : "dark.ui.bg.default",
6768
+ md: isOpen ? headerDarkBlue : "dark.ui.bg.default"
6769
+ },
6770
+ color: "dark.ui.typography.heading",
6771
+ svg: {
6772
+ fill: isOpen ? "dark.ui.typography.heading" : null
6773
+ },
6774
+ _hover: {
6775
+ svg: {
6776
+ fill: "dark.ui.typography.heading"
6777
+ }
6778
+ }
6779
+ }
6352
6780
  };
6353
6781
  }
6354
6782
  };
@@ -6357,7 +6785,10 @@ var linkFocusHoverStyles = {
6357
6785
  borderBottom: "3px solid",
6358
6786
  color: headerRed,
6359
6787
  paddingBottom: "2px",
6360
- textDecoration: "none"
6788
+ textDecoration: "none",
6789
+ _dark: {
6790
+ color: headerRedDarkMode
6791
+ }
6361
6792
  };
6362
6793
  var HeaderLowerNav = {
6363
6794
  baseStyle: {
@@ -6377,7 +6808,12 @@ var HeaderLowerNav = {
6377
6808
  fontWeight: "medium",
6378
6809
  textDecoration: "none",
6379
6810
  _hover: linkFocusHoverStyles,
6380
- _focus: /*#__PURE__*/_extends({}, headerFocus, linkFocusHoverStyles)
6811
+ _focus: /*#__PURE__*/_extends({}, headerFocus, linkFocusHoverStyles),
6812
+ _dark: {
6813
+ color: "dark.ui.typography.heading",
6814
+ _hover: linkFocusHoverStyles,
6815
+ _focus: /*#__PURE__*/_extends({}, headerFocus, linkFocusHoverStyles)
6816
+ }
6381
6817
  }
6382
6818
  }
6383
6819
  };
@@ -6395,6 +6831,11 @@ var HeaderMobileIconNav = {
6395
6831
  minHeight: "60px",
6396
6832
  minWidth: "60px",
6397
6833
  _focus: headerFocus
6834
+ },
6835
+ _dark: {
6836
+ svg: {
6837
+ fill: "dark.ui.typography.heading"
6838
+ }
6398
6839
  }
6399
6840
  }
6400
6841
  };
@@ -6489,7 +6930,13 @@ var HeaderMobileNavButton = {
6489
6930
  fill: isOpen ? "ui.white" : "ui.black"
6490
6931
  }
6491
6932
  },
6492
- _focus: headerFocus
6933
+ _focus: headerFocus,
6934
+ _dark: {
6935
+ backgroundColor: isOpen ? headerBlack : "transparent",
6936
+ svg: {
6937
+ fill: "dark.ui.typography.heading"
6938
+ }
6939
+ }
6493
6940
  };
6494
6941
  }
6495
6942
  };
@@ -6565,7 +7012,10 @@ var HeaderSearchForm = {
6565
7012
  fontStyle: "normal"
6566
7013
  },
6567
7014
  _focus: headerFocus,
6568
- _hover: headerFocus
7015
+ _hover: headerFocus,
7016
+ _dark: {
7017
+ color: "dark.ui.typography.body"
7018
+ }
6569
7019
  }
6570
7020
  },
6571
7021
  searchBtn: {
@@ -6632,6 +7082,12 @@ var HeaderSearchForm = {
6632
7082
  backgroundColor: headerBlue
6633
7083
  },
6634
7084
  _focus: headerFocus
7085
+ },
7086
+ _dark: {
7087
+ color: "ui.white",
7088
+ label: {
7089
+ color: "ui.white"
7090
+ }
6635
7091
  }
6636
7092
  }
6637
7093
  };
@@ -6653,13 +7109,24 @@ var HeaderSearchButton = {
6653
7109
  md: "80px"
6654
7110
  },
6655
7111
  textDecoration: "none",
7112
+ _dark: {
7113
+ color: isOpen ? "ui.white" : "dark.ui.link.primary"
7114
+ },
6656
7115
  span: {
6657
7116
  alignItems: "center",
6658
7117
  borderBottom: {
6659
7118
  md: "3px solid #1B7FA7"
6660
7119
  },
6661
7120
  display: "inline-flex",
6662
- lineHeight: "1.3"
7121
+ lineHeight: "1.3",
7122
+ _dark: {
7123
+ borderBottom: isOpen ? "0" : {
7124
+ md: "3px solid"
7125
+ },
7126
+ borderColor: {
7127
+ md: "dark.ui.link.primary"
7128
+ }
7129
+ }
6663
7130
  },
6664
7131
  svg: {
6665
7132
  marginLeft: {
@@ -6669,6 +7136,12 @@ var HeaderSearchButton = {
6669
7136
  fill: {
6670
7137
  base: isOpen ? "ui.white" : "ui.black",
6671
7138
  md: isOpen ? "ui.white" : "ui.link.primary"
7139
+ },
7140
+ _dark: {
7141
+ fill: {
7142
+ base: isOpen ? "ui.white" : "dark.ui.typography.heading",
7143
+ md: isOpen ? "ui.white" : "dark.ui.link.primary"
7144
+ }
6672
7145
  }
6673
7146
  },
6674
7147
  _hover: {
@@ -6680,6 +7153,15 @@ var HeaderSearchButton = {
6680
7153
  base: isOpen ? "ui.white" : "ui.black",
6681
7154
  md: isOpen ? "ui.white" : "ui.link.primary"
6682
7155
  }
7156
+ },
7157
+ _dark: {
7158
+ color: isOpen ? "ui.white" : "dark.ui.link.primary",
7159
+ svg: {
7160
+ fill: {
7161
+ base: isOpen ? "ui.white" : "dark.ui.typography.heading",
7162
+ md: isOpen ? "ui.white" : "dark.ui.link.primary"
7163
+ }
7164
+ }
6683
7165
  }
6684
7166
  },
6685
7167
  _focus: headerFocus
@@ -6711,7 +7193,19 @@ var SitewideAlerts = {
6711
7193
  },
6712
7194
  p: {
6713
7195
  marginBottom: "0"
7196
+ },
7197
+ _dark: {
7198
+ color: "ui.typography.heading",
7199
+ a: {
7200
+ color: "ui.typography.heading",
7201
+ _hover: {
7202
+ color: "ui.typography.heading"
7203
+ }
7204
+ }
6714
7205
  }
7206
+ },
7207
+ _dark: {
7208
+ backgroundColor: "dark.ui.status.primary"
6715
7209
  }
6716
7210
  }
6717
7211
  };
@@ -6742,10 +7236,19 @@ var HeaderUpperNav = {
6742
7236
  color: "ui.black",
6743
7237
  textDecoration: "none"
6744
7238
  },
6745
- _focus: headerFocus
7239
+ _focus: headerFocus,
7240
+ _dark: {
7241
+ color: "dark.ui.typography.heading",
7242
+ _hover: {
7243
+ color: "dark.ui.typography.heading"
7244
+ }
7245
+ }
6746
7246
  },
6747
7247
  svg: {
6748
- marginTop: "0"
7248
+ marginTop: "0",
7249
+ _dark: {
7250
+ fill: "white"
7251
+ }
6749
7252
  },
6750
7253
  emailUpdatesLink: {
6751
7254
  display: "flex",
@@ -6762,6 +7265,9 @@ var HeaderUpperNav = {
6762
7265
  width: "85px",
6763
7266
  _hover: {
6764
7267
  bg: headerRed
7268
+ },
7269
+ _dark: {
7270
+ color: "var(--nypl-colors-ui-black) !important"
6765
7271
  }
6766
7272
  }
6767
7273
  }
@@ -6770,8 +7276,14 @@ var HeaderUpperNav = {
6770
7276
  var baseLinkStyles = {
6771
7277
  color: "ui.link.primary",
6772
7278
  textDecoration: "underline",
7279
+ _dark: {
7280
+ color: "dark.ui.link.primary"
7281
+ },
6773
7282
  _hover: {
6774
- color: "ui.link.secondary"
7283
+ color: "ui.link.secondary",
7284
+ _dark: {
7285
+ color: "dark.ui.link.secondary"
7286
+ }
6775
7287
  }
6776
7288
  };
6777
7289
  var baseButtonLinkStyles = /*#__PURE__*/_extends({}, buttonBaseStyle, {
@@ -6791,10 +7303,6 @@ var variants = {
6791
7303
  width: "s",
6792
7304
  textDecoration: "none",
6793
7305
  fill: "currentColor"
6794
- },
6795
- _hover: {
6796
- color: "ui.link.secondary",
6797
- textDecoration: "underline"
6798
7306
  }
6799
7307
  },
6800
7308
  // The "button" variant is deprecated.
@@ -6811,10 +7319,18 @@ var variants = {
6811
7319
  textDecoration: "none",
6812
7320
  fontWeight: "button.default",
6813
7321
  bg: "ui.link.primary",
7322
+ _dark: {
7323
+ color: "ui.gray.xxx-dark",
7324
+ bg: "dark.ui.link.primary"
7325
+ },
6814
7326
  _hover: {
6815
7327
  color: "ui.white",
6816
7328
  bg: "ui.link.secondary",
6817
- textDecoration: "none"
7329
+ textDecoration: "underline",
7330
+ _dark: {
7331
+ color: "ui.gray.xxx-dark",
7332
+ bg: "dark.ui.link.secondary"
7333
+ }
6818
7334
  }
6819
7335
  },
6820
7336
  buttonPrimary: /*#__PURE__*/_extends({}, baseButtonLinkStyles, /*#__PURE__*/primary({})),
@@ -6837,6 +7353,10 @@ var variants = {
6837
7353
  pointerEvents: "none",
6838
7354
  _visited: {
6839
7355
  color: "ui.gray.dark"
7356
+ },
7357
+ _dark: {
7358
+ bg: "dark.ui.disabled.secondary",
7359
+ color: "dark.ui.disabled.primary"
6840
7360
  }
6841
7361
  })
6842
7362
  };
@@ -6925,7 +7445,10 @@ var Heading$1 = {
6925
7445
  // passed as children to the Heading component.
6926
7446
  a: baseLinkStyles,
6927
7447
  marginBottom: noSpace ? "0" : "s",
6928
- textTransform: isCapitalized ? "capitalize" : isUppercase ? "uppercase" : isLowercase ? "lowercase" : null
7448
+ textTransform: isCapitalized ? "capitalize" : isUppercase ? "uppercase" : isLowercase ? "lowercase" : null,
7449
+ _dark: {
7450
+ color: "dark.ui.typography.heading"
7451
+ }
6929
7452
  };
6930
7453
  },
6931
7454
  // Available variants:
@@ -6944,7 +7467,10 @@ var helperErrorText = {
6944
7467
  marginTop: "xxs",
6945
7468
  marginBottom: "0",
6946
7469
  fontSize: "helper.default",
6947
- color: isInvalid ? "ui.error.primary" : "ui.black"
7470
+ color: isInvalid ? "ui.error.primary" : null,
7471
+ _dark: {
7472
+ color: isInvalid ? "dark.ui.error.primary" : null
7473
+ }
6948
7474
  };
6949
7475
  }
6950
7476
  };
@@ -7017,20 +7543,31 @@ var secondaryHeadingBase = {
7017
7543
  position: "absolute",
7018
7544
  width: "4000px",
7019
7545
  zIndex: "-1"
7546
+ },
7547
+ _dark: {
7548
+ color: "dark.ui.typography.heading"
7020
7549
  }
7021
7550
  };
7022
7551
  // Get all the styles for the specific Secondary variant but
7023
7552
  // update the background color.
7024
7553
  var getSecondaryVariantStyles = function getSecondaryVariantStyles(bgColor) {
7025
7554
  if (bgColor === void 0) {
7026
- bgColor = "ui.black";
7555
+ bgColor = "";
7027
7556
  }
7557
+ var finalBgColor = {
7558
+ light: bgColor ? bgColor : "ui.black",
7559
+ dark: bgColor ? "dark." + bgColor : "dark.ui.bg.active"
7560
+ };
7028
7561
  return _extends({}, secondaryBase, {
7029
7562
  heading: _extends({}, secondaryHeadingBase, {
7030
- bg: bgColor,
7031
7563
  _before: _extends({}, secondaryHeadingBase["_before"], {
7032
- bg: bgColor
7033
- })
7564
+ bg: finalBgColor.light
7565
+ }),
7566
+ _dark: {
7567
+ _before: {
7568
+ bg: finalBgColor.dark
7569
+ }
7570
+ }
7034
7571
  })
7035
7572
  });
7036
7573
  };
@@ -7069,6 +7606,10 @@ var primary$1 = {
7069
7606
  },
7070
7607
  bodyText: {
7071
7608
  marginBottom: "0"
7609
+ },
7610
+ _dark: {
7611
+ bg: "dark.ui.bg.default",
7612
+ color: "dark.ui.typography.body"
7072
7613
  }
7073
7614
  }
7074
7615
  };
@@ -7094,6 +7635,9 @@ var tertiary = {
7094
7635
  base: "xxs",
7095
7636
  xl: "xs"
7096
7637
  }
7638
+ },
7639
+ _dark: {
7640
+ color: "dark.ui.typography.body"
7097
7641
  }
7098
7642
  }),
7099
7643
  heading: {
@@ -7104,6 +7648,9 @@ var tertiary = {
7104
7648
  },
7105
7649
  p: {
7106
7650
  marginBottom: "0"
7651
+ },
7652
+ _dark: {
7653
+ bg: "dark.ui.bg.default"
7107
7654
  }
7108
7655
  };
7109
7656
  var campaign = {
@@ -7141,6 +7688,10 @@ var campaign = {
7141
7688
  },
7142
7689
  top: {
7143
7690
  md: "xxl"
7691
+ },
7692
+ _dark: {
7693
+ bg: "dark.ui.bg.default",
7694
+ color: "dark.ui.typography.body"
7144
7695
  }
7145
7696
  },
7146
7697
  a: {
@@ -7205,7 +7756,10 @@ var fiftyFifty = {
7205
7756
  };
7206
7757
  var Hero = {
7207
7758
  baseStyle: {
7208
- bg: "ui.gray.x-light-cool"
7759
+ bg: "ui.gray.x-light-cool",
7760
+ _dark: {
7761
+ bg: "dark.ui.bg.default"
7762
+ }
7209
7763
  },
7210
7764
  // Available variants:
7211
7765
  variants: {
@@ -7225,13 +7779,16 @@ var HorizontalRule = {
7225
7779
  baseStyle: function baseStyle(_ref) {
7226
7780
  var align = _ref.align;
7227
7781
  return {
7228
- bg: "ui.gray.light-cool",
7782
+ bg: "ui.bg.hover",
7229
7783
  border: "0",
7230
7784
  height: "2px",
7231
7785
  marginBottom: "s",
7232
7786
  marginTop: "s",
7233
7787
  marginStart: align === "left" ? 0 : "auto",
7234
- marginEnd: align === "right" ? 0 : "auto"
7788
+ marginEnd: align === "right" ? 0 : "auto",
7789
+ _dark: {
7790
+ bg: "dark.ui.bg.active"
7791
+ }
7235
7792
  };
7236
7793
  }
7237
7794
  };
@@ -7372,6 +7929,11 @@ var baseUnorderedStyles = function baseUnorderedStyles(noStyling) {
7372
7929
  lineHeight: "0.9",
7373
7930
  marginStart: "-1rem",
7374
7931
  width: "1rem"
7932
+ },
7933
+ _dark: {
7934
+ _before: {
7935
+ color: "dark.ui.bg.active"
7936
+ }
7375
7937
  }
7376
7938
  }
7377
7939
  });
@@ -7382,9 +7944,15 @@ var baseSectionDescriptionStyles = {
7382
7944
  paddingStart: "0",
7383
7945
  h2: {
7384
7946
  borderTop: "3px solid",
7385
- borderColor: "ui.gray.medium",
7947
+ borderColor: "ui.border.default",
7386
7948
  margin: "0",
7387
- padding: "var(--nypl-space-xs) 0 0"
7949
+ padding: "var(--nypl-space-xs) 0 0",
7950
+ _dark: {
7951
+ borderColor: "dark.ui.border.default"
7952
+ }
7953
+ },
7954
+ _dark: {
7955
+ borderColor: "dark.ui.border.default"
7388
7956
  }
7389
7957
  };
7390
7958
  var baseDescriptionStyles = /*#__PURE__*/_extends({}, baseSectionDescriptionStyles, {
@@ -7399,7 +7967,7 @@ var baseDescriptionStyles = /*#__PURE__*/_extends({}, baseSectionDescriptionStyl
7399
7967
  },
7400
7968
  dt: {
7401
7969
  borderTop: "1px solid",
7402
- borderColor: "ui.gray.light-cool",
7970
+ borderColor: "ui.border.default",
7403
7971
  fontWeight: "label.default",
7404
7972
  paddingBottom: {
7405
7973
  base: "0",
@@ -7408,6 +7976,10 @@ var baseDescriptionStyles = /*#__PURE__*/_extends({}, baseSectionDescriptionStyl
7408
7976
  paddingTop: "s",
7409
7977
  paddingEnd: {
7410
7978
  md: "table.column"
7979
+ },
7980
+ _dark: {
7981
+ borderColor: "dark.ui.border.default",
7982
+ color: "dark.ui.typography.heading"
7411
7983
  }
7412
7984
  },
7413
7985
  dd: {
@@ -7418,10 +7990,15 @@ var baseDescriptionStyles = /*#__PURE__*/_extends({}, baseSectionDescriptionStyl
7418
7990
  md: "1px solid"
7419
7991
  },
7420
7992
  borderColor: {
7421
- md: "ui.gray.light-cool"
7993
+ md: "ui.border.default"
7422
7994
  },
7423
7995
  paddingTop: {
7424
7996
  md: "s"
7997
+ },
7998
+ _dark: {
7999
+ borderColor: {
8000
+ md: "dark.ui.border.default"
8001
+ }
7425
8002
  }
7426
8003
  }
7427
8004
  });
@@ -7488,6 +8065,27 @@ var Logo = {
7488
8065
  }
7489
8066
  };
7490
8067
 
8068
+ var Modal = {
8069
+ parts: ["header", "overlay", "dialogContainer", "dialog", "closeButton", "body", "footer"],
8070
+ baseStyle: {
8071
+ dialog: {
8072
+ _dark: {
8073
+ bg: "dark.ui.bg.default"
8074
+ }
8075
+ },
8076
+ header: {
8077
+ _dark: {
8078
+ color: "dark.ui.typography.heading"
8079
+ }
8080
+ },
8081
+ body: {
8082
+ _dark: {
8083
+ color: "dark.ui.typography.body"
8084
+ }
8085
+ }
8086
+ }
8087
+ };
8088
+
7491
8089
  var multiSelectWidths = {
7492
8090
  "default": {
7493
8091
  width: {
@@ -7582,6 +8180,19 @@ var MultiSelect = {
7582
8180
  }
7583
8181
  }
7584
8182
  }
8183
+ },
8184
+ _dark: {
8185
+ background: "dark.ui.bg.default",
8186
+ borderColor: "dark.ui.border.hover",
8187
+ ul: {
8188
+ li: {
8189
+ div: {
8190
+ _hover: {
8191
+ bg: "dark.ui.bg.hover"
8192
+ }
8193
+ }
8194
+ }
8195
+ }
7585
8196
  }
7586
8197
  }),
7587
8198
  menu: {
@@ -7632,7 +8243,7 @@ var MultiSelectMenuButton = {
7632
8243
  backgroundColor: isOpen ? "ui.bg.active" : "ui.white",
7633
8244
  borderBottomLeftRadius: isOpen ? "0" : "button.default",
7634
8245
  borderBottomRightRadius: isOpen ? "0" : "button.default",
7635
- borderColor: isOpen ? "ui.gray.dark" : "ui.gray.medium",
8246
+ borderColor: isOpen ? "ui.border.hover" : "ui.border.default",
7636
8247
  borderRadius: "button.default",
7637
8248
  borderWidth: "1px",
7638
8249
  fontSize: "button.default",
@@ -7651,6 +8262,19 @@ var MultiSelectMenuButton = {
7651
8262
  },
7652
8263
  svg: {
7653
8264
  marginTop: "0"
8265
+ },
8266
+ _dark: {
8267
+ backgroundColor: isOpen ? "dark.ui.bg.active" : "dark.ui.bg.default",
8268
+ borderBottomLeftRadius: isOpen ? "0" : "button.default",
8269
+ borderBottomRightRadius: isOpen ? "0" : "button.default",
8270
+ borderColor: isOpen ? "dark.ui.border.hover" : "dark.ui.border.default",
8271
+ svg: {
8272
+ fill: "dark.ui.typography.heading"
8273
+ },
8274
+ _hover: {
8275
+ backgroundColor: isOpen ? "dark.ui.bg.active" : "dark.ui.bg.default",
8276
+ borderColor: "dark.ui.border.hover"
8277
+ }
7654
8278
  }
7655
8279
  },
7656
8280
  selectedItemsCountButton: {
@@ -7678,6 +8302,16 @@ var MultiSelectMenuButton = {
7678
8302
  marginLeft: "xxs",
7679
8303
  marginRight: "6px",
7680
8304
  marginTop: "0"
8305
+ },
8306
+ _dark: {
8307
+ backgroundColor: "dark.ui.bg.hover",
8308
+ borderColor: isOpen ? "dark.ui.border.hover" : "dark.ui.border.default",
8309
+ svg: {
8310
+ fill: "dark.ui.typography.heading"
8311
+ },
8312
+ _hover: {
8313
+ borderColor: isOpen ? "ui.white" : "dark.ui.border.hover"
8314
+ }
7681
8315
  }
7682
8316
  }
7683
8317
  };
@@ -7687,9 +8321,9 @@ var MultiSelectMenuButton = {
7687
8321
  var Notification = {
7688
8322
  parts: ["container", "dismissibleButton", "icon"],
7689
8323
  baseStyle: function baseStyle(_ref) {
7690
- var dismissible = _ref.dismissible,
7691
- isCentered = _ref.isCentered,
8324
+ var isCentered = _ref.isCentered,
7692
8325
  noMargin = _ref.noMargin,
8326
+ notificationHeading = _ref.notificationHeading,
7693
8327
  notificationType = _ref.notificationType;
7694
8328
  var bg = "ui.status.primary";
7695
8329
  if (notificationType === "announcement" || notificationType === "warning") {
@@ -7697,19 +8331,24 @@ var Notification = {
7697
8331
  }
7698
8332
  return {
7699
8333
  bg: bg,
8334
+ borderRadius: noMargin ? "0" : "4px",
7700
8335
  display: "flex",
7701
8336
  fontSize: "text.caption",
8337
+ m: noMargin ? "0" : "s",
7702
8338
  position: "relative",
8339
+ p: "inset.default",
7703
8340
  textAlign: isCentered ? "center" : null,
7704
- borderRadius: noMargin ? "0" : "4px",
7705
- margin: noMargin ? "0" : "s",
8341
+ _dark: {
8342
+ bg: "dark.ui.bg.hover"
8343
+ },
7706
8344
  container: {
7707
- margin: "auto",
8345
+ display: "flex",
8346
+ flexDirection: isCentered || notificationHeading ? "column" : "row",
8347
+ m: "auto",
7708
8348
  maxWidth: "var(--nypl-breakpoint-xl)",
7709
- padding: "inset.default",
7710
- paddingEnd: dismissible ? "l" : null,
7711
- paddingStart: isCentered && dismissible ? "l" : null,
7712
- width: "100%"
8349
+ paddingEnd: "s",
8350
+ paddingStart: "s",
8351
+ w: "100%"
7713
8352
  },
7714
8353
  dismissibleButton: {
7715
8354
  border: "none",
@@ -7717,8 +8356,8 @@ var Notification = {
7717
8356
  alignItems: "center",
7718
8357
  color: "ui.black",
7719
8358
  display: "flex",
7720
- height: "32px",
7721
- width: "32px",
8359
+ h: "32px",
8360
+ w: "32px",
7722
8361
  minWidth: "0",
7723
8362
  position: "absolute",
7724
8363
  right: "0",
@@ -7726,13 +8365,12 @@ var Notification = {
7726
8365
  svg: {
7727
8366
  marginTop: "0"
7728
8367
  },
8368
+ _dark: {
8369
+ color: "dark.ui.typography.body"
8370
+ },
7729
8371
  _hover: {
7730
8372
  bg: "inherit"
7731
8373
  }
7732
- },
7733
- icon: {
7734
- flexShrink: "0",
7735
- marginEnd: "xs"
7736
8374
  }
7737
8375
  };
7738
8376
  }
@@ -7740,22 +8378,38 @@ var Notification = {
7740
8378
  var NotificationContent = {
7741
8379
  parts: ["content"],
7742
8380
  baseStyle: function baseStyle(_ref2) {
7743
- var alignText = _ref2.alignText,
7744
- icon = _ref2.icon,
7745
- notificationType = _ref2.notificationType;
8381
+ var isCentered = _ref2.isCentered,
8382
+ notificationHeading = _ref2.notificationHeading,
8383
+ notificationType = _ref2.notificationType,
8384
+ showIcon = _ref2.showIcon;
7746
8385
  return {
7747
8386
  display: "flex",
7748
8387
  justifyContent: "center",
7749
8388
  content: {
7750
8389
  color: notificationType === "warning" ? "brand.primary" : "currentColor",
7751
- marginTop: icon ? "xxxs" : "0",
7752
- paddingStart: alignText ? "calc(var(--nypl-space-s) + var(--nypl-space-s))" : null,
7753
- width: "100%",
7754
- // Links should always be black and underlined.
8390
+ marginTop: showIcon ? "xxxs" : "0",
8391
+ paddingStart: !isCentered && showIcon ? notificationHeading ? "l" : "xs" : "0",
8392
+ pt: !isCentered && notificationHeading ? "xxs" : "0",
8393
+ w: "100%",
8394
+ _dark: {
8395
+ borderLeftColor: notificationType === "standard" ? "ui.status.primary" : notificationType === "announcement" ? "ui.success.primary" : "dark.ui.error.primary",
8396
+ borderLeftStyle: !isCentered ? "solid" : "none",
8397
+ borderLeftWidth: "2px",
8398
+ marginTop: "0",
8399
+ paddingStart: !isCentered ? "xs" : "0",
8400
+ color: "dark.ui.typography.body",
8401
+ ml: !isCentered && showIcon ? notificationHeading ? "l" : "xs" : "0"
8402
+ },
8403
+ // Links should always be underlined, and always be black if the
8404
+ // color mode is light.
7755
8405
  a: {
7756
8406
  color: "ui.black",
7757
- _hover: {
7758
- color: "ui.black"
8407
+ textDecoration: "underline",
8408
+ _dark: {
8409
+ color: "dark.ui.link.primary",
8410
+ _hover: {
8411
+ color: "dark.ui.link.secondary"
8412
+ }
7759
8413
  }
7760
8414
  }
7761
8415
  }
@@ -7776,12 +8430,32 @@ var NotificationHeading = {
7776
8430
  }
7777
8431
  return {
7778
8432
  display: "flex",
7779
- marginBottom: "xxs",
7780
- justifyContent: isCentered ? "center" : null,
8433
+ flexDirection: isCentered ? "column" : "row",
8434
+ m: isCentered ? "auto" : "null",
8435
+ mb: isCentered ? "xs" : "0",
8436
+ px: isCentered ? "s" : "0",
8437
+ w: "fit-content",
8438
+ _dark: {
8439
+ borderBottomColor: notificationType === "standard" ? "ui.status.primary" : notificationType === "announcement" ? "ui.success.primary" : "dark.ui.error.primary",
8440
+ borderBottomStyle: isCentered ? "solid" : "none",
8441
+ borderBottomWidth: "2px",
8442
+ color: "dark.ui.typography.heading",
8443
+ paddingBottom: isCentered ? "xs" : "0"
8444
+ },
7781
8445
  heading: {
7782
- marginBottom: "0",
7783
- marginTop: icon ? "xxxs" : "0",
7784
- color: color
8446
+ color: color,
8447
+ ml: icon && !isCentered ? "xs" : "0",
8448
+ mt: icon ? "xxxs" : "0",
8449
+ _dark: {
8450
+ borderLeftColor: notificationType === "standard" ? "ui.status.primary" : notificationType === "announcement" ? "ui.success.primary" : "dark.ui.error.primary",
8451
+ borderLeftStyle: !isCentered ? "solid" : "none",
8452
+ borderLeftWidth: "2px",
8453
+ paddingLeft: !isCentered ? "xs" : "0"
8454
+ }
8455
+ },
8456
+ svg: {
8457
+ mx: isCentered ? "auto" : "",
8458
+ mb: isCentered ? "xxs" : "0"
7785
8459
  }
7786
8460
  };
7787
8461
  }
@@ -7815,6 +8489,9 @@ var ProgressIndicator = {
7815
8489
  size = _ref.size;
7816
8490
  return {
7817
8491
  color: darkMode ? "ui.white" : "ui.black",
8492
+ _dark: {
8493
+ color: "dark.ui.typography.heading"
8494
+ },
7818
8495
  circular: {
7819
8496
  // Note: we have to target the SVG HTMl elements in order
7820
8497
  // to override the default styles.
@@ -7824,10 +8501,16 @@ var ProgressIndicator = {
7824
8501
  display: "block",
7825
8502
  circle: {
7826
8503
  _first: {
7827
- stroke: darkMode ? "ui.gray.dark" : "ui.gray.light-cool"
8504
+ stroke: darkMode ? "ui.gray.dark" : "ui.gray.light-cool",
8505
+ _dark: {
8506
+ stroke: "dark.ui.bg.hover"
8507
+ }
7828
8508
  },
7829
8509
  _last: {
7830
- stroke: darkMode ? "ui.white" : "ui.link.primary"
8510
+ stroke: darkMode ? "ui.white" : "ui.link.primary",
8511
+ _dark: {
8512
+ stroke: "dark.ui.link.primary"
8513
+ }
7831
8514
  }
7832
8515
  }
7833
8516
  }
@@ -7842,13 +8525,20 @@ var ProgressIndicator = {
7842
8525
  // Hard to target this specific element without using
7843
8526
  // "Progress" as the key name in index.ts
7844
8527
  "> div": {
7845
- bg: darkMode ? "ui.white" : "ui.link.primary"
8528
+ bg: darkMode ? "ui.white" : "ui.link.primary",
8529
+ _dark: {
8530
+ bg: "dark.ui.link.primary"
8531
+ }
7846
8532
  },
7847
8533
  flex: 25,
7848
8534
  bg: darkMode ? "ui.gray.dark" : "ui.gray.light-cool",
7849
8535
  height: {
7850
8536
  base: "4px",
7851
8537
  md: size === "default" ? "8px" : "4px"
8538
+ },
8539
+ _dark: {
8540
+ bg: "dark.ui.bg.hover",
8541
+ color: "dark.ui.typography.heading"
7852
8542
  }
7853
8543
  },
7854
8544
  linearContainer: {
@@ -7916,6 +8606,42 @@ var baseStyleControl$1 = {
7916
8606
  }),
7917
8607
  _invalid: {
7918
8608
  borderColor: "ui.error.primary"
8609
+ },
8610
+ _dark: {
8611
+ borderColor: "dark.ui.border.default",
8612
+ backgroundColor: "dark.ui.bg.default",
8613
+ _checked: {
8614
+ borderColor: "dark.ui.focus",
8615
+ _disabled: {
8616
+ borderColor: "dark.ui.disabled.secondary",
8617
+ _before: {
8618
+ bg: "dark.ui.disabled.secondary"
8619
+ }
8620
+ },
8621
+ _invalid: {
8622
+ borderColor: "dark.ui.error.primary",
8623
+ _before: {
8624
+ borderColor: "dark.ui.error.primary",
8625
+ bg: "dark.ui.error.primary"
8626
+ }
8627
+ }
8628
+ },
8629
+ _disabled: {
8630
+ borderColor: "dark.ui.disabled.secondary",
8631
+ _before: {
8632
+ bg: "dark.ui.disabled.secondary"
8633
+ }
8634
+ },
8635
+ _focus: {
8636
+ boxShadow: "none",
8637
+ outlineColor: "dark.ui.focus"
8638
+ },
8639
+ _invalid: {
8640
+ borderColor: "dark.ui.error.primary"
8641
+ },
8642
+ _before: {
8643
+ bg: "dark.ui.focus"
8644
+ }
7919
8645
  }
7920
8646
  };
7921
8647
  // Style object for the Radio's label
@@ -7979,12 +8705,22 @@ var SearchBar = {
7979
8705
  },
7980
8706
  select: {
7981
8707
  flexShrink: "0",
7982
- marginBottom: "0",
8708
+ marginBottom: {
8709
+ base: "-1px",
8710
+ md: "0"
8711
+ },
7983
8712
  maxWidth: {
7984
8713
  base: undefined,
7985
8714
  md: "255px"
7986
8715
  },
7987
- textOverflow: "ellipsis"
8716
+ textOverflow: "ellipsis",
8717
+ marginRight: {
8718
+ base: undefined,
8719
+ md: "-1px"
8720
+ },
8721
+ _hover: {
8722
+ zIndex: "10"
8723
+ }
7988
8724
  }
7989
8725
  }
7990
8726
  };
@@ -7996,8 +8732,11 @@ var element = {
7996
8732
  };
7997
8733
  var borderRules = {
7998
8734
  border: "1px solid",
7999
- borderColor: "ui.gray.light-cool",
8000
- padding: "s"
8735
+ borderColor: "ui.gray.x-light-cool",
8736
+ padding: "s",
8737
+ _dark: {
8738
+ borderColor: "ui.gray.xx-dark"
8739
+ }
8001
8740
  };
8002
8741
  var imagePaddingBottomStyles = {
8003
8742
  landscape: "50%",
@@ -8114,8 +8853,11 @@ var fade = function fade() {
8114
8853
  var Skeleton = {
8115
8854
  baseStyle: {
8116
8855
  borderRadius: "2px",
8117
- background: "ui.gray.light-cool",
8118
- animation: /*#__PURE__*/fade() + " 1000ms cubic-bezier(0.25, -0.5, 1, 0) infinite"
8856
+ bg: "ui.gray.light-cool",
8857
+ animation: /*#__PURE__*/fade() + " 1000ms cubic-bezier(0.25, -0.5, 1, 0) infinite",
8858
+ _dark: {
8859
+ bg: "dark.ui.bg.hover"
8860
+ }
8119
8861
  }
8120
8862
  };
8121
8863
 
@@ -8156,15 +8898,17 @@ var staticValues = {
8156
8898
  var CustomSlider = {
8157
8899
  parts: ["container", "leftValue", "rightValue", "textInput", "sliderContainer", "filledTrack", "track", "thumb"],
8158
8900
  baseStyle: function baseStyle(_ref) {
8159
- var isDisabled = _ref.isDisabled,
8901
+ var isDarkMode = _ref.isDarkMode,
8902
+ isDisabled = _ref.isDisabled,
8160
8903
  isInvalid = _ref.isInvalid,
8161
8904
  showBoxes = _ref.showBoxes,
8162
8905
  showValues = _ref.showValues;
8163
- var baseColor = "ui.link.primary";
8906
+ var prefix = isDarkMode ? "dark." : "";
8907
+ var baseColor = prefix + "ui.link.primary";
8164
8908
  if (isInvalid) {
8165
- baseColor = "ui.error.primary";
8909
+ baseColor = prefix + "ui.error.primary";
8166
8910
  } else if (isDisabled) {
8167
- baseColor = "ui.disabled.primary";
8911
+ baseColor = prefix + "ui.disabled.primary";
8168
8912
  }
8169
8913
  return {
8170
8914
  container: {
@@ -8172,20 +8916,25 @@ var CustomSlider = {
8172
8916
  alignItems: "center"
8173
8917
  },
8174
8918
  leftValue: _extends({}, staticValues, {
8175
- color: isDisabled ? "ui.gray.dark" : null
8919
+ color: isDisabled ? "ui.disabled.primary" : null,
8920
+ _dark: {
8921
+ color: isDisabled ? "dark.ui.disabled.primary" : null
8922
+ }
8176
8923
  }),
8177
8924
  rightValue: _extends({}, staticValues, {
8178
8925
  marginStart: "s",
8179
8926
  // If the text input boxes are shown, then there already is
8180
8927
  // a margin, so we can set this static value to "0".
8181
8928
  marginEnd: showBoxes ? "0" : "s",
8182
- color: isDisabled ? "ui.gray.dark" : null
8929
+ color: isDisabled ? "ui.disabled.primary" : null,
8930
+ _dark: {
8931
+ color: isDisabled ? "dark.ui.disabled.primary" : null
8932
+ }
8183
8933
  }),
8184
8934
  textInput: {
8185
8935
  // Allows for three or more digits present in the
8186
8936
  // min or max value text input.
8187
- minWidth: "65px",
8188
- color: isInvalid ? "ui.error.primary" : "ui.black"
8937
+ minWidth: "65px"
8189
8938
  },
8190
8939
  // This is added to the container so that the slider thumbs don't
8191
8940
  // overflow past the container when the value boxes or min/max values
@@ -8203,10 +8952,16 @@ var CustomSlider = {
8203
8952
  bgColor: "ui.gray.light-cool",
8204
8953
  _disabled: {
8205
8954
  bgColor: "ui.disabled.primary"
8955
+ },
8956
+ _dark: {
8957
+ bgColor: "dark.ui.bg.active",
8958
+ _disabled: {
8959
+ bgColor: "dark.ui.disabled.primary"
8960
+ }
8206
8961
  }
8207
8962
  },
8208
8963
  thumb: {
8209
- border: "1px solid",
8964
+ border: "2px solid",
8210
8965
  // Thumb doesn't have an _invalid state...
8211
8966
  // so we manually do it through the props.
8212
8967
  borderColor: baseColor,
@@ -8217,6 +8972,13 @@ var CustomSlider = {
8217
8972
  _disabled: {
8218
8973
  bgColor: "ui.disabled.secondary",
8219
8974
  borderColor: "ui.disabled.primary"
8975
+ },
8976
+ _dark: {
8977
+ bgColor: "dark.ui.bg.default",
8978
+ _disabled: {
8979
+ bgColor: "dark.ui.disabled.secondary",
8980
+ borderColor: "dark.ui.disabled.primary"
8981
+ }
8220
8982
  }
8221
8983
  }
8222
8984
  };
@@ -8233,24 +8995,42 @@ var StatusBadge = {
8233
8995
  py: "inset.extranarrow",
8234
8996
  px: "inset.narrow",
8235
8997
  textAlign: "center",
8236
- width: "fit-content"
8998
+ width: "fit-content",
8999
+ _dark: {
9000
+ backgroundColor: "dark.ui.bg.active",
9001
+ borderLeft: "4px solid",
9002
+ borderColor: "ui.gray.medium",
9003
+ color: "dark.ui.typography.heading"
9004
+ }
8237
9005
  },
8238
9006
  variants: {
8239
9007
  low: {
8240
9008
  bg: "ui.gray.light-cool"
8241
9009
  },
8242
9010
  medium: {
8243
- bg: "ui.status.primary"
9011
+ bg: "ui.status.primary",
9012
+ _dark: {
9013
+ borderColor: "ui.status.primary"
9014
+ }
8244
9015
  },
8245
9016
  high: {
8246
- bg: "ui.status.secondary"
9017
+ bg: "ui.status.secondary",
9018
+ _dark: {
9019
+ borderColor: "dark.ui.error.primary"
9020
+ }
8247
9021
  }
8248
9022
  }
8249
9023
  };
8250
9024
 
8251
- var cellBorderColorStyles = {
8252
- base: "ui.gray.light-cool",
8253
- md: "ui.gray.medium"
9025
+ var CellBorderColorStyles = function CellBorderColorStyles() {
9026
+ var colorValues = react.useColorModeValue({
9027
+ base: "ui.gray.light-cool",
9028
+ md: "ui.border.default"
9029
+ }, {
9030
+ base: "ui.gray.xx-dark",
9031
+ md: "dark.ui.border.default"
9032
+ });
9033
+ return colorValues;
8254
9034
  };
8255
9035
  var baseTRStyles = function baseTRStyles(columnHeadersBackgroundColor, showRowDividers, useRowHeaders) {
8256
9036
  if (columnHeadersBackgroundColor === void 0) {
@@ -8286,6 +9066,9 @@ var baseTRStyles = function baseTRStyles(columnHeadersBackgroundColor, showRowDi
8286
9066
  md: "0"
8287
9067
  },
8288
9068
  borderColor: "ui.gray.medium"
9069
+ },
9070
+ _dark: {
9071
+ borderColor: "dark.ui.border.default"
8289
9072
  }
8290
9073
  };
8291
9074
  };
@@ -8305,7 +9088,7 @@ var baseCellStyles = function baseCellStyles(columnHeadersBackgroundColor, colum
8305
9088
  return {
8306
9089
  border: showRowDividers ? undefined : "none",
8307
9090
  borderBottom: showRowDividers ? "1px solid" : "0",
8308
- borderColor: cellBorderColorStyles,
9091
+ borderColor: CellBorderColorStyles(),
8309
9092
  display: {
8310
9093
  base: "flex",
8311
9094
  md: "table-cell"
@@ -8346,7 +9129,7 @@ var baseCellStyles = function baseCellStyles(columnHeadersBackgroundColor, colum
8346
9129
  md: "m"
8347
9130
  } : null,
8348
9131
  borderBottom: showRowDividers ? "1px solid" : "none",
8349
- borderColor: cellBorderColorStyles
9132
+ borderColor: CellBorderColorStyles()
8350
9133
  },
8351
9134
  "> span": {
8352
9135
  flexBasis: "50%",
@@ -8363,7 +9146,10 @@ var baseCellStyles = function baseCellStyles(columnHeadersBackgroundColor, colum
8363
9146
  bg: columnHeadersBackgroundColor ? columnHeadersBackgroundColor : undefined,
8364
9147
  color: columnHeadersTextColor ? columnHeadersTextColor : "ui.black",
8365
9148
  fontWeight: "medium",
8366
- paddingStart: columnHeadersBackgroundColor || showRowDividers || useRowHeaders ? "s" : undefined
9149
+ paddingStart: columnHeadersBackgroundColor || showRowDividers || useRowHeaders ? "s" : undefined,
9150
+ _dark: {
9151
+ color: columnHeadersTextColor ? columnHeadersTextColor : "dark.ui.typography.heading"
9152
+ }
8367
9153
  }
8368
9154
  }
8369
9155
  };
@@ -8393,6 +9179,9 @@ var baseTHStyles = function baseTHStyles(columnHeadersBackgroundColor, columnHea
8393
9179
  base: "0",
8394
9180
  md: undefined
8395
9181
  }
9182
+ },
9183
+ _dark: {
9184
+ color: columnHeadersTextColor ? columnHeadersTextColor : "dark.ui.typography.heading"
8396
9185
  }
8397
9186
  });
8398
9187
  };
@@ -8430,7 +9219,7 @@ var baseTDStyles = function baseTDStyles(columnHeadersBackgroundColor, columnHea
8430
9219
  base: 0,
8431
9220
  md: undefined
8432
9221
  },
8433
- borderColor: cellBorderColorStyles
9222
+ borderColor: CellBorderColorStyles()
8434
9223
  }
8435
9224
  });
8436
9225
  };
@@ -8443,15 +9232,23 @@ var baseStyle$2 = function baseStyle(_ref) {
8443
9232
  // Headers `th` can be rendered as the first cell in every row through the
8444
9233
  // `useRowHeaders`. Whereas the header `th` in the `thead` can be rendered
8445
9234
  // with a custom color, the row header `th` in the `tbody` should always
8446
- // have text color black.
9235
+ // have text color black for light color mode and `dark.ui.typography.heading`
9236
+ // for dark color mode.
8447
9237
  tbody: {
8448
9238
  th: {
8449
- color: "ui.black",
8450
9239
  backgroundColor: useRowHeaders ? {
8451
9240
  base: "ui.gray.x-light-cool",
8452
9241
  md: "unset"
8453
9242
  } : undefined,
8454
- verticalAlign: "top"
9243
+ color: "ui.black",
9244
+ verticalAlign: "top",
9245
+ _dark: {
9246
+ backgroundColor: useRowHeaders ? {
9247
+ base: "dark.ui.bg.default",
9248
+ md: "unset"
9249
+ } : undefined,
9250
+ color: "dark.ui.typography.heading"
9251
+ }
8455
9252
  },
8456
9253
  td: {
8457
9254
  verticalAlign: "top"
@@ -8476,7 +9273,10 @@ var baseStyle$2 = function baseStyle(_ref) {
8476
9273
  marginEnd: "0",
8477
9274
  marginTop: "0",
8478
9275
  padding: "0",
8479
- textAlign: "left"
9276
+ textAlign: "left",
9277
+ _dark: {
9278
+ color: "dark.ui.typography.heading"
9279
+ }
8480
9280
  }
8481
9281
  };
8482
9282
  };
@@ -8583,6 +9383,11 @@ var StyledList = {
8583
9383
  borderColor: "ui.border.default",
8584
9384
  my: "xs",
8585
9385
  px: "xs"
9386
+ },
9387
+ _dark: {
9388
+ li: {
9389
+ borderColor: "dark.ui.border.default"
9390
+ }
8586
9391
  }
8587
9392
  }
8588
9393
  }
@@ -8592,7 +9397,6 @@ var tablist = {
8592
9397
  borderColor: "ui.black"
8593
9398
  };
8594
9399
  var tab = {
8595
- color: "black !important",
8596
9400
  paddingInlineStart: "s",
8597
9401
  paddingStart: "s",
8598
9402
  background: "transparent",
@@ -8629,10 +9433,27 @@ var tab = {
8629
9433
  },
8630
9434
  _focus: {
8631
9435
  boxShadow: "0"
9436
+ },
9437
+ _dark: {
9438
+ color: "dark.ui.typography.heading",
9439
+ border: "1px solid transparent",
9440
+ borderBottom: "1px solid",
9441
+ borderBottomColor: "dark.ui.border.hover",
9442
+ _hover: {
9443
+ bg: "dark.ui.bg.hover"
9444
+ },
9445
+ _selected: {
9446
+ color: "dark.ui.typography.heading",
9447
+ border: "0",
9448
+ bg: "dark.ui.bg.active",
9449
+ borderBottom: "3px solid"
9450
+ }
8632
9451
  }
8633
9452
  };
8634
9453
  // Only display the previous/next arrow buttons on mobile.
8635
9454
  var buttonArrows = {
9455
+ bg: "transparent",
9456
+ color: "black",
8636
9457
  border: "0",
8637
9458
  borderRadius: "0",
8638
9459
  display: {
@@ -8647,7 +9468,21 @@ var buttonArrows = {
8647
9468
  // Code from https://codesandbox.io/s/fxjeo for the mobile carousel
8648
9469
  pos: "absolute",
8649
9470
  transition: "0.6s ease",
8650
- zIndex: "9999"
9471
+ zIndex: "9999",
9472
+ _hover: {
9473
+ bg: "unset",
9474
+ color: "unset",
9475
+ borderColor: "unset"
9476
+ },
9477
+ _disabled: {
9478
+ color: "ui.disabled.primary"
9479
+ },
9480
+ _dark: {
9481
+ color: "dark.ui.typography.heading",
9482
+ _disabled: {
9483
+ color: "dark.ui.disabled.primary"
9484
+ }
9485
+ }
8651
9486
  };
8652
9487
  var tablistWrapper = {
8653
9488
  display: "flex",
@@ -8681,7 +9516,10 @@ var tablistWrapper = {
8681
9516
  base: "4px",
8682
9517
  md: "0"
8683
9518
  },
8684
- position: "relative"
9519
+ position: "relative",
9520
+ _dark: {
9521
+ borderColor: "dark.ui.border.hover"
9522
+ }
8685
9523
  };
8686
9524
  var tabpanels = {
8687
9525
  paddingTop: "2px"
@@ -8735,6 +9573,9 @@ var CustomTabs = {
8735
9573
  tablistWrapper: tablistWrapper,
8736
9574
  tabpanels: tabpanels,
8737
9575
  carouselParent: carouselParent
9576
+ },
9577
+ defaultProps: {
9578
+ colorScheme: "ui.black"
8738
9579
  }
8739
9580
  };
8740
9581
 
@@ -8746,9 +9587,9 @@ var TagSetFilter = {
8746
9587
  display: "flex",
8747
9588
  alignItems: "center",
8748
9589
  justifyContent: "center",
8749
- bg: "ui.gray.x-light-cool",
9590
+ bg: "ui.bg.default",
8750
9591
  border: "1px solid",
8751
- borderColor: "ui.gray.medium",
9592
+ borderColor: "ui.border.default",
8752
9593
  borderRadius: "pill",
8753
9594
  color: "ui.black",
8754
9595
  cursor: isDismissible ? "pointer" : "auto",
@@ -8772,7 +9613,17 @@ var TagSetFilter = {
8772
9613
  whiteSpace: "nowrap"
8773
9614
  },
8774
9615
  _hover: {
8775
- bg: isDismissible ? "ui.gray.light-cool" : "ui.gray.x-light-cool"
9616
+ bg: isDismissible ? "ui.bg.hover" : "ui.bg.default",
9617
+ borderColor: isDismissible ? "ui.border.hover" : "ui.border.default"
9618
+ },
9619
+ _dark: {
9620
+ bg: "dark.ui.bg.default",
9621
+ borderColor: "dark.ui.border.default",
9622
+ color: "dark.ui.typography.body",
9623
+ _hover: {
9624
+ bg: isDismissible ? "dark.ui.bg.hover" : "dark.ui.bg.default",
9625
+ borderColor: isDismissible ? "dark.ui.border.hover" : "dark.ui.border.default"
9626
+ }
8776
9627
  },
8777
9628
  clearAll: {
8778
9629
  color: "ui.black",
@@ -8781,7 +9632,10 @@ var TagSetFilter = {
8781
9632
  md: "22px"
8782
9633
  },
8783
9634
  fontSize: "text.tag",
8784
- minHeight: "22px"
9635
+ minHeight: "22px",
9636
+ _dark: {
9637
+ color: "dark.ui.typography.heading"
9638
+ }
8785
9639
  }
8786
9640
  };
8787
9641
  }
@@ -8835,6 +9689,29 @@ var TagSetExplore = {
8835
9689
  "> span": {
8836
9690
  color: "ui.white"
8837
9691
  }
9692
+ },
9693
+ _dark: {
9694
+ bg: "dark.ui.bg.default",
9695
+ borderColor: "dark.ui.link.primary",
9696
+ color: "dark.ui.link.primary",
9697
+ a: {
9698
+ color: "dark.ui.link.primary"
9699
+ },
9700
+ svg: {
9701
+ fill: "dark.ui.link.primary"
9702
+ },
9703
+ _hover: {
9704
+ bg: "dark.ui.link.primary",
9705
+ a: {
9706
+ color: "ui.gray.xxx-dark"
9707
+ },
9708
+ svg: {
9709
+ fill: "ui.gray.xxx-dark"
9710
+ },
9711
+ "> span": {
9712
+ color: "ui.gray.xxx-dark"
9713
+ }
9714
+ }
8838
9715
  }
8839
9716
  }
8840
9717
  };
@@ -8862,7 +9739,10 @@ var Template = {
8862
9739
  color: "ui.black",
8863
9740
  display: "grid",
8864
9741
  gridTemplateColumns: "\n 1fr\n min(1280px, 100%)\n 1fr",
8865
- rowGap: "grid.l"
9742
+ rowGap: "grid.l",
9743
+ _dark: {
9744
+ color: "dark.ui.typography.body"
9745
+ }
8866
9746
  },
8867
9747
  sizes: {},
8868
9748
  defaultProps: {}
@@ -9014,7 +9894,32 @@ var input = {
9014
9894
  _invalid: {
9015
9895
  border: "1px solid",
9016
9896
  borderColor: "ui.error.primary",
9017
- boxShadow: "none"
9897
+ boxShadow: "none",
9898
+ color: "ui.error.primary",
9899
+ _focus: {
9900
+ borderColor: "ui.focus"
9901
+ }
9902
+ },
9903
+ _dark: {
9904
+ bgColor: "dark.ui.bg.default",
9905
+ borderColor: "dark.ui.border.default",
9906
+ _hover: {
9907
+ borderColor: "dark.ui.border.hover"
9908
+ },
9909
+ _disabled: /*#__PURE__*/_extends({}, selectTextInputDisabledStyles, {
9910
+ _placeholder: {
9911
+ color: "ui.gray.x-dark"
9912
+ }
9913
+ }),
9914
+ _active: selectTextInputFocusStyles,
9915
+ _focus: selectTextInputFocusStyles,
9916
+ _placeholder: {
9917
+ color: "ui.gray.dark"
9918
+ },
9919
+ _invalid: {
9920
+ borderColor: "dark.ui.error.primary",
9921
+ color: "dark.ui.error.primary"
9922
+ }
9018
9923
  }
9019
9924
  };
9020
9925
  var TextInput$1 = {
@@ -9091,7 +9996,6 @@ var Switch = {
9091
9996
  var size = _ref2.size;
9092
9997
  return {
9093
9998
  alignItems: "start",
9094
- opacity: 0.4,
9095
9999
  track: {
9096
10000
  backgroundColor: "ui.gray.medium",
9097
10001
  border: "1px solid",
@@ -9121,6 +10025,33 @@ var Switch = {
9121
10025
  outlineColor: "ui.focus",
9122
10026
  outlineOffset: "2px",
9123
10027
  zIndex: "9999"
10028
+ },
10029
+ _dark: {
10030
+ bgColor: "ui.gray.dark",
10031
+ borderColor: "ui.gray.dark",
10032
+ _checked: {
10033
+ bg: "dark.ui.link.primary",
10034
+ borderColor: "dark.ui.link.primary"
10035
+ },
10036
+ _invalid: {
10037
+ bg: "inherit",
10038
+ borderColor: "dark.ui.error.primary",
10039
+ "> span": {
10040
+ bg: "dark.ui.error.primary"
10041
+ }
10042
+ },
10043
+ _disabled: {
10044
+ bg: "dark.ui.disabled.secondary",
10045
+ borderColor: "dark.ui.disabled.secondary",
10046
+ opacity: 1,
10047
+ // These are styles for the thumb. _isDisabled was not working within the `thumb` part.
10048
+ ".chakra-switch__thumb": {
10049
+ bgColor: "dark.ui.disabled.primary"
10050
+ }
10051
+ },
10052
+ _focus: {
10053
+ outlineColor: "dark.ui.focus"
10054
+ }
9124
10055
  }
9125
10056
  },
9126
10057
  label: {
@@ -9130,11 +10061,22 @@ var Switch = {
9130
10061
  _disabled: {
9131
10062
  color: "ui.gray.dark",
9132
10063
  fontStyle: "italic"
10064
+ },
10065
+ _invalid: {
10066
+ color: "ui.error.primary"
10067
+ },
10068
+ _dark: {
10069
+ _disabled: {
10070
+ color: "dark.ui.disabled.primary"
10071
+ },
10072
+ _invalid: {
10073
+ color: "dark.ui.error.primary"
10074
+ }
9133
10075
  }
9134
10076
  },
9135
10077
  thumb: {
9136
- _disabled: {
9137
- bg: "ui.error.primary"
10078
+ _dark: {
10079
+ bgColor: "dark.ui.bg.default"
9138
10080
  }
9139
10081
  }
9140
10082
  };
@@ -9164,10 +10106,10 @@ var Toggle$1 = {
9164
10106
  Switch: Switch
9165
10107
  };
9166
10108
 
9167
- var _baseStyle;
10109
+ var _dark, _baseStyle;
9168
10110
  var $bg = /*#__PURE__*/themeTools.cssVar("tooltip-bg");
9169
10111
  var Tooltip$1 = {
9170
- baseStyle: (_baseStyle = {}, _baseStyle[$bg.variable] = "colors.ui.gray.xx-dark", _baseStyle.borderRadius = "4px", _baseStyle.boxShadow = "none", _baseStyle.color = "ui.white", _baseStyle.fontSize = "text.tag", _baseStyle.marginBottom = "xxs", _baseStyle.maxWidth = "240px", _baseStyle.px = "s", _baseStyle.py = "xs", _baseStyle)
10112
+ baseStyle: (_baseStyle = {}, _baseStyle[$bg.variable] = "colors.ui.gray.xx-dark", _baseStyle.borderRadius = "4px", _baseStyle.boxShadow = "none", _baseStyle.color = "ui.white", _baseStyle.fontSize = "text.tag", _baseStyle.marginBottom = "xxs", _baseStyle.maxWidth = "240px", _baseStyle.px = "s", _baseStyle.py = "xs", _baseStyle._dark = (_dark = {}, _dark[$bg.variable] = "colors.ui.gray.x-dark", _dark), _baseStyle)
9171
10113
  };
9172
10114
 
9173
10115
  var fourByThree = {
@@ -9182,8 +10124,15 @@ var square = {
9182
10124
  };
9183
10125
  var invalid = {
9184
10126
  backgroundColor: "ui.gray.light-cool",
10127
+ border: "1px solid",
10128
+ borderColor: "ui.border.default",
9185
10129
  height: "auto",
9186
- padding: "s"
10130
+ padding: "s",
10131
+ _dark: {
10132
+ bg: "dark.ui.bg.default",
10133
+ border: "1px solid",
10134
+ borderColor: "dark.ui.border.default"
10135
+ }
9187
10136
  };
9188
10137
  var VideoPlayer = {
9189
10138
  baseStyle: {
@@ -9284,6 +10233,7 @@ var theme = /*#__PURE__*/react.extendTheme( /*#__PURE__*/_extends({
9284
10233
  Link: Link$1,
9285
10234
  List: List,
9286
10235
  Logo: Logo,
10236
+ Modal: Modal,
9287
10237
  MultiSelect: MultiSelect,
9288
10238
  MultiSelectMenuButton: MultiSelectMenuButton
9289
10239
  }, NotificationStyles, {
@@ -9332,7 +10282,7 @@ var DSProvider = function DSProvider(_ref) {
9332
10282
  };
9333
10283
 
9334
10284
  var _excluded$1c = ["children", "icon", "id", "isCentered", "notificationType"],
9335
- _excluded2$5 = ["alignText", "children", "icon", "notificationType"],
10285
+ _excluded2$5 = ["alignText", "children", "isCentered", "notificationHeading", "notificationType", "showIcon"],
9336
10286
  _excluded3$3 = ["ariaLabel", "className", "dismissible", "icon", "id", "isCentered", "noMargin", "notificationContent", "notificationHeading", "notificationType", "showIcon"];
9337
10287
  /**
9338
10288
  * NotificationHeading child-component.
@@ -9352,9 +10302,10 @@ var NotificationHeading$1 = /*#__PURE__*/react.chakra(function (props) {
9352
10302
  return React__default.createElement(react.Box, Object.assign({
9353
10303
  as: "header",
9354
10304
  __css: styles
9355
- }, rest), icon, React__default.createElement(Heading, {
10305
+ }, rest), icon, children && React__default.createElement(Heading, {
9356
10306
  id: id + "-heading",
9357
10307
  level: "four",
10308
+ noSpace: true,
9358
10309
  __css: styles.heading
9359
10310
  }, children));
9360
10311
  });
@@ -9364,17 +10315,21 @@ var NotificationHeading$1 = /*#__PURE__*/react.chakra(function (props) {
9364
10315
  var NotificationContent$1 = /*#__PURE__*/react.chakra(function (props) {
9365
10316
  var alignText = props.alignText,
9366
10317
  children = props.children,
9367
- icon = props.icon,
10318
+ isCentered = props.isCentered,
10319
+ notificationHeading = props.notificationHeading,
9368
10320
  notificationType = props.notificationType,
10321
+ showIcon = props.showIcon,
9369
10322
  rest = _objectWithoutPropertiesLoose(props, _excluded2$5);
9370
10323
  var styles = react.useMultiStyleConfig("NotificationContent", {
9371
10324
  alignText: alignText,
9372
- icon: icon,
9373
- notificationType: notificationType
10325
+ isCentered: isCentered,
10326
+ notificationHeading: notificationHeading,
10327
+ notificationType: notificationType,
10328
+ showIcon: showIcon
9374
10329
  });
9375
10330
  return React__default.createElement(react.Box, Object.assign({
9376
10331
  __css: styles
9377
- }, rest), icon, React__default.createElement(react.Box, {
10332
+ }, rest), children && React__default.createElement(react.Box, {
9378
10333
  __css: styles.content
9379
10334
  }, children));
9380
10335
  });
@@ -9403,14 +10358,17 @@ var Notification$1 = /*#__PURE__*/react.chakra( /*#__PURE__*/React.forwardRef(fu
9403
10358
  var _useState = React.useState(true),
9404
10359
  isOpen = _useState[0],
9405
10360
  setIsOpen = _useState[1];
10361
+ var _useColorMode = react.useColorMode(),
10362
+ colorMode = _useColorMode.colorMode;
9406
10363
  var handleClose = function handleClose() {
9407
10364
  return setIsOpen(false);
9408
10365
  };
9409
10366
  var styles = react.useMultiStyleConfig("Notification", {
9410
- dismissible: dismissible,
9411
10367
  isCentered: isCentered,
9412
10368
  noMargin: noMargin,
9413
- notificationType: notificationType
10369
+ notificationHeading: notificationHeading,
10370
+ notificationType: notificationType,
10371
+ showIcon: showIcon
9414
10372
  });
9415
10373
  var iconElement = function iconElement() {
9416
10374
  var baseIconProps = {
@@ -9427,25 +10385,29 @@ var Notification$1 = /*#__PURE__*/react.chakra( /*#__PURE__*/React.forwardRef(fu
9427
10385
  }, baseIconProps));
9428
10386
  var iconProps = {
9429
10387
  announcement: {
9430
- color: "section.research.secondary",
10388
+ color: colorMode === "dark" ? "ui.gray.medium" : "section.research.secondary",
9431
10389
  name: "speakerNotes",
9432
10390
  title: "Notification announcement icon"
9433
10391
  },
9434
10392
  standard: {
9435
- color: "ui.black",
10393
+ color: colorMode === "dark" ? "ui.status.primary" : "ui.black",
9436
10394
  name: "alertNotificationImportant",
9437
10395
  title: "Notification standard icon"
9438
10396
  },
9439
10397
  warning: {
9440
- color: "brand.primary",
10398
+ color: colorMode === "dark" ? "dark.ui.error.primary" : "brand.primary",
9441
10399
  name: "errorFilled",
9442
10400
  title: "Notification warning icon"
9443
10401
  }
9444
10402
  };
9445
10403
  return React__default.createElement(Icon, Object.assign({
10404
+ className: "notification-icon",
9446
10405
  id: id + "-notification-icon"
9447
10406
  }, iconProps[notificationType], baseIconProps));
9448
10407
  };
10408
+ /** Setting the icon color in the styles is not working, so we need to
10409
+ * explicitly override the icon color directly on the component. */
10410
+ var dismissibleButtonIconColor = react.useColorModeValue("ui.black", "dark.ui.typography.heading");
9449
10411
  var dismissibleButton = dismissible && React__default.createElement(Button, {
9450
10412
  "aria-label": "Close the notification",
9451
10413
  buttonType: "text",
@@ -9453,13 +10415,14 @@ var Notification$1 = /*#__PURE__*/react.chakra( /*#__PURE__*/React.forwardRef(fu
9453
10415
  onClick: handleClose,
9454
10416
  __css: styles.dismissibleButton
9455
10417
  }, React__default.createElement(Icon, {
10418
+ fill: dismissibleButtonIconColor,
9456
10419
  id: id + "-dismissible-notification-icon",
9457
10420
  name: "close",
9458
10421
  size: "large",
9459
10422
  title: "Notification close icon"
9460
10423
  }));
9461
10424
  var iconElem = iconElement();
9462
- var childHeading = notificationHeading && React__default.createElement(NotificationHeading$1, {
10425
+ var childHeading = (notificationHeading || showIcon) && React__default.createElement(NotificationHeading$1, {
9463
10426
  icon: iconElem,
9464
10427
  id: id,
9465
10428
  isCentered: isCentered,
@@ -9469,8 +10432,10 @@ var Notification$1 = /*#__PURE__*/react.chakra( /*#__PURE__*/React.forwardRef(fu
9469
10432
  var alignText = !!(childHeading && showIcon && (!!icon || !isCentered));
9470
10433
  var childContent = React__default.createElement(NotificationContent$1, {
9471
10434
  alignText: alignText,
9472
- icon: !childHeading ? iconElem : undefined,
9473
- notificationType: notificationType
10435
+ isCentered: isCentered,
10436
+ notificationHeading: notificationHeading,
10437
+ notificationType: notificationType,
10438
+ showIcon: showIcon
9474
10439
  }, notificationContent);
9475
10440
  // If the `Notification` is closed, don't render anything.
9476
10441
  if (!isOpen) {
@@ -9803,6 +10768,7 @@ var FeedbackBox$1 = /*#__PURE__*/react.chakra( /*#__PURE__*/React.forwardRef(fun
9803
10768
  var maxCommentCharacters = 500;
9804
10769
  var initMinHeight = 165;
9805
10770
  var initTemplateRows = "auto 1fr";
10771
+ var iconColor = react.useColorModeValue(null, "dark.ui.typography.body");
9806
10772
  var minHeightWithCategory = 235;
9807
10773
  var minHeightWithEmail = 275;
9808
10774
  var minHeightWithCategoryAndEmail = 345;
@@ -9828,6 +10794,7 @@ var FeedbackBox$1 = /*#__PURE__*/react.chakra( /*#__PURE__*/React.forwardRef(fun
9828
10794
  noMargin: true,
9829
10795
  notificationContent: notificationText,
9830
10796
  showIcon: false,
10797
+ p: "0",
9831
10798
  sx: {
9832
10799
  // The padding of the Notification is smaller than
9833
10800
  // the initial one.
@@ -10040,6 +11007,7 @@ var FeedbackBox$1 = /*#__PURE__*/react.chakra( /*#__PURE__*/React.forwardRef(fun
10040
11007
  textAlign: "center",
10041
11008
  ref: focusRef
10042
11009
  }, React__default.createElement(Icon, {
11010
+ color: iconColor,
10043
11011
  name: "actionCheckCircleFilled",
10044
11012
  size: "large"
10045
11013
  }), React__default.createElement(Text, {
@@ -10787,7 +11755,9 @@ var FilterBar$1 = /*#__PURE__*/react.chakra( /*#__PURE__*/React.forwardRef(funct
10787
11755
  sx: styles.modalHeader
10788
11756
  }, "Filter Criteria"), React__default.createElement(react.ModalCloseButton, {
10789
11757
  sx: styles.modalCloseButton
10790
- }), React__default.createElement(react.ModalBody, null, newChildren), React__default.createElement(react.ModalFooter, {
11758
+ }), React__default.createElement(react.ModalBody, {
11759
+ sx: styles.modalBody
11760
+ }, newChildren), React__default.createElement(react.ModalFooter, {
10791
11761
  sx: styles.modalFooter
10792
11762
  }, React__default.createElement(ButtonGroup, {
10793
11763
  layout: "row",
@@ -13931,8 +14901,8 @@ var HeaderSearchForm$1 = /*#__PURE__*/react.chakra(function (_ref) {
13931
14901
  });
13932
14902
 
13933
14903
  /**
13934
- * This is the button that will render the search form when it is clicked
13935
- * and keep focus trapped within the menu.
14904
+ * This is the button that will render the search form when it is clicked and
14905
+ * keep focus trapped within the menu.
13936
14906
  */
13937
14907
  var HeaderSearchButton$1 = /*#__PURE__*/react.chakra(function (_ref) {
13938
14908
  var _ref$isMobile = _ref.isMobile,
@@ -14445,7 +15415,7 @@ var Header$1 = /*#__PURE__*/react.chakra(function (_ref) {
14445
15415
  __css: styles.logo
14446
15416
  }, React__default.createElement(Logo$1, {
14447
15417
  "aria-label": "NYPL Header Logo",
14448
- name: isLargerThanLarge ? "nyplFullBlack" : "nyplLionBlack",
15418
+ name: isLargerThanLarge ? react.useColorModeValue("nyplFullBlack", "nyplFullWhite") : react.useColorModeValue("nyplLionBlack", "nyplLionWhite"),
14449
15419
  size: isLargerThanMobile ? "large" : "small",
14450
15420
  title: "NYPL Header Logo"
14451
15421
  })), React__default.createElement(react.Spacer, null), isLargerThanMobile ? React__default.createElement(react.VStack, {
@@ -14731,7 +15701,10 @@ var Pagination$1 = /*#__PURE__*/react.chakra( /*#__PURE__*/React.forwardRef(func
14731
15701
  // The current page link has different styles.
14732
15702
  var currentStyles = isSelectedPage ? {
14733
15703
  color: "ui.black",
14734
- pointerEvent: "none"
15704
+ pointerEvent: "none",
15705
+ _dark: {
15706
+ color: "dark.ui.typography.body"
15707
+ }
14735
15708
  } : {};
14736
15709
  var allAttrs = {
14737
15710
  items: {
@@ -14996,6 +15969,8 @@ var Select$1 = /*#__PURE__*/react.chakra( /*#__PURE__*/React.forwardRef(function
14996
15969
  // The number of pixels between the label and select elements
14997
15970
  // when the labelPosition is inline (equivalent to --nypl-space-xs).
14998
15971
  var labelSelectGap = 8;
15972
+ // Set the color of the dropdown arrow based on the color mode.
15973
+ var arrowColor = react.useColorModeValue(isInvalid ? "ui.error.primary" : "ui.black", isInvalid ? "dark.ui.error.primary" : "dark.ui.typography.body");
14999
15974
  if (!id) {
15000
15975
  console.warn("NYPL Reservoir Select: This component's required `id` prop was not passed.");
15001
15976
  }
@@ -15043,6 +16018,7 @@ var Select$1 = /*#__PURE__*/react.chakra( /*#__PURE__*/React.forwardRef(function
15043
16018
  ref: ref
15044
16019
  }, controlledProps, ariaAttributes, {
15045
16020
  icon: React__default.createElement(Icon, {
16021
+ color: arrowColor,
15046
16022
  id: id + "-icon",
15047
16023
  name: "arrow",
15048
16024
  size: "medium"
@@ -15313,6 +16289,7 @@ var Slider = /*#__PURE__*/react.chakra( /*#__PURE__*/React.forwardRef(function (
15313
16289
  var _useStateWithDependen = useStateWithDependencies(value),
15314
16290
  currentValue = _useStateWithDependen[0],
15315
16291
  setCurrentValue = _useStateWithDependen[1];
16292
+ var isDarkMode = react.useColorMode().colorMode === "dark";
15316
16293
  var finalIsInvalid = isInvalid;
15317
16294
  // In the Range Slider, if the first value is bigger than the second value,
15318
16295
  // then set the invalid state.
@@ -15325,6 +16302,7 @@ var Slider = /*#__PURE__*/react.chakra( /*#__PURE__*/React.forwardRef(function (
15325
16302
  console.warn("NYPL Reservoir Slider: The `min` prop is greater than the `max` prop.");
15326
16303
  }
15327
16304
  var styles = react.useMultiStyleConfig("CustomSlider", {
16305
+ isDarkMode: isDarkMode,
15328
16306
  isDisabled: isDisabled,
15329
16307
  isInvalid: finalIsInvalid,
15330
16308
  showBoxes: showBoxes,
@@ -15936,6 +16914,9 @@ var TagSetFilter$1 = /*#__PURE__*/react.chakra(function (props) {
15936
16914
  var finalOnClick = function finalOnClick(tagLabel) {
15937
16915
  onClick && onClick(tagLabel);
15938
16916
  };
16917
+ // Set element colors based on color mode
16918
+ var dismissButtonColor = react.useColorModeValue("ui.gray.x-dark", "dark.ui.typography.body");
16919
+ var iconColor = react.useColorModeValue("ui.black", "dark.ui.typography.body");
15939
16920
  // This expects that the consuming app passes in a new set of data
15940
16921
  // whenever the current list of tags needs to be updated.
15941
16922
  React.useEffect(function () {
@@ -15961,6 +16942,7 @@ var TagSetFilter$1 = /*#__PURE__*/react.chakra(function (props) {
15961
16942
  sx: styles
15962
16943
  }, !isDismissible && tagSet.iconName ? React__default.createElement(Icon, {
15963
16944
  align: "left",
16945
+ color: iconColor,
15964
16946
  "data-testid": "ts-icon",
15965
16947
  name: tagSet.iconName,
15966
16948
  size: "small"
@@ -15969,7 +16951,7 @@ var TagSetFilter$1 = /*#__PURE__*/react.chakra(function (props) {
15969
16951
  align: "right",
15970
16952
  name: "close",
15971
16953
  size: "small",
15972
- color: "ui.gray.x-dark",
16954
+ color: dismissButtonColor,
15973
16955
  width: "12px"
15974
16956
  }) : null));
15975
16957
  }), filters.length > 1 && isDismissible ? React__default.createElement(Button, {