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

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 (65) 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 +1227 -205
  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 +1230 -208
  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 +33 -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 +5 -0
  26. package/dist/theme/components/header/headerLogin.d.ts +35 -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/headerMobileNav.d.ts +7 -0
  31. package/dist/theme/components/header/headerMobileNavButton.d.ts +6 -0
  32. package/dist/theme/components/header/headerSearchButton.d.ts +27 -0
  33. package/dist/theme/components/header/headerSearchForm.d.ts +10 -0
  34. package/dist/theme/components/header/headerSitewideAlerts.d.ts +15 -0
  35. package/dist/theme/components/header/headerUpperNav.d.ts +15 -0
  36. package/dist/theme/components/heading.d.ts +9 -0
  37. package/dist/theme/components/helperErrorText.d.ts +3 -0
  38. package/dist/theme/components/hero.d.ts +43 -6
  39. package/dist/theme/components/horizontalRule.d.ts +3 -0
  40. package/dist/theme/components/image.d.ts +54 -0
  41. package/dist/theme/components/label.d.ts +3 -0
  42. package/dist/theme/components/link.d.ts +20 -4
  43. package/dist/theme/components/list.d.ts +46 -0
  44. package/dist/theme/components/modal.d.ts +21 -0
  45. package/dist/theme/components/multiSelectMenuButton.d.ts +23 -0
  46. package/dist/theme/components/notification.d.ts +62 -21
  47. package/dist/theme/components/progressIndicator.d.ts +16 -0
  48. package/dist/theme/components/radio.d.ts +63 -0
  49. package/dist/theme/components/searchBar.d.ts +11 -1
  50. package/dist/theme/components/select.d.ts +39 -0
  51. package/dist/theme/components/skeletonLoader.d.ts +4 -1
  52. package/dist/theme/components/skipNavigation.d.ts +3 -0
  53. package/dist/theme/components/slider.d.ts +21 -2
  54. package/dist/theme/components/statusBadge.d.ts +12 -0
  55. package/dist/theme/components/structuredContent.d.ts +63 -4
  56. package/dist/theme/components/styledList.d.ts +10 -0
  57. package/dist/theme/components/tabs.d.ts +37 -1
  58. package/dist/theme/components/tagSet.d.ts +39 -0
  59. package/dist/theme/components/template.d.ts +3 -0
  60. package/dist/theme/components/textInput.d.ts +194 -0
  61. package/dist/theme/components/toggle.d.ts +39 -3
  62. package/dist/theme/components/tooltip.d.ts +6 -1
  63. package/dist/theme/components/videoPlayer.d.ts +7 -0
  64. package/dist/theme/foundations/global.d.ts +10 -0
  65. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import { chakra, useStyleConfig, Icon as Icon$2, Box, Accordion as Accordion$2, AccordionPanel, AccordionItem, AccordionButton, Button as Button$2, useMultiStyleConfig, Heading as Heading$2, Text as Text$2, Flex, useMergeRefs, Tooltip as Tooltip$2, Breadcrumb as Breadcrumb$1, BreadcrumbItem, BreadcrumbLink, useMediaQuery, Stack, LinkBox, LinkOverlay, Checkbox as Checkbox$2, CheckboxGroup as CheckboxGroup$2, TableCaption, Thead, Tr, Th, Table as Table$1, Tbody, Td, HStack, SimpleGrid as SimpleGrid$1, Input, Textarea, extendTheme, ChakraProvider, Radio as Radio$2, RadioGroup as RadioGroup$2, useDisclosure, Drawer, DrawerOverlay, DrawerContent, DrawerHeader, DrawerBody, VStack, keyframes as keyframes$1, UnorderedList, ListItem, useOutsideClick, Modal, ModalOverlay, ModalContent, ModalHeader, ModalCloseButton, ModalBody, ModalFooter, Spacer, CircularProgress, CircularProgressLabel, Progress, Select as Select$2, Skeleton as Skeleton$1, RangeSlider, RangeSliderTrack, RangeSliderFilledTrack, RangeSliderThumb, Slider as Slider$1, SliderTrack, SliderFilledTrack, SliderThumb, Tabs as Tabs$1, Tab, TabPanel, TabList, TabPanels, Switch as Switch$1, useTheme } from '@chakra-ui/react';
1
+ import { chakra, useStyleConfig, Icon as Icon$2, Box, useColorMode, Accordion as Accordion$2, AccordionPanel, AccordionItem, AccordionButton, Button as Button$2, useMultiStyleConfig, Heading as Heading$2, Text as Text$2, useColorModeValue, Flex, useMergeRefs, Tooltip as Tooltip$2, Breadcrumb as Breadcrumb$1, BreadcrumbItem, BreadcrumbLink, useMediaQuery, Stack, LinkBox, LinkOverlay, Checkbox as Checkbox$2, CheckboxGroup as CheckboxGroup$2, TableCaption, Thead, Tr, Th, Table as Table$1, Tbody, Td, HStack, SimpleGrid as SimpleGrid$1, Input, Textarea, extendTheme, ChakraProvider, Radio as Radio$2, RadioGroup as RadioGroup$2, useDisclosure, Drawer, DrawerOverlay, DrawerContent, DrawerHeader, DrawerBody, VStack, keyframes as keyframes$1, UnorderedList, ListItem, useOutsideClick, Modal as Modal$1, ModalOverlay, ModalContent, ModalHeader, ModalCloseButton, ModalBody, ModalFooter, Spacer, CircularProgress, CircularProgressLabel, Progress, Select as Select$2, Skeleton as Skeleton$1, RangeSlider, RangeSliderTrack, RangeSliderFilledTrack, RangeSliderThumb, Slider as Slider$1, SliderTrack, SliderFilledTrack, SliderThumb, Tabs as Tabs$1, Tab, TabPanel, TabList, TabPanels, Switch as Switch$1, useTheme } from '@chakra-ui/react';
2
2
  export { Box, Center, Circle, ColorModeScript, Flex, Grid, GridItem, HStack, Spacer, Square, Stack, Tab, TabList, TabPanel, TabPanels, VStack, cookieStorageManager, localStorageManager, useColorMode, useColorModeValue } from '@chakra-ui/react';
3
3
  import React__default, { createElement, forwardRef, useRef, useState, useEffect, Fragment, useReducer, useContext } from 'react';
4
4
  import useNativeLazyLoading from '@charlietango/use-native-lazy-loading';
@@ -1409,7 +1409,7 @@ var _excluded$R = ["accordionData", "id", "isDefaultOpen", "isAlwaysRendered", "
1409
1409
  * Get the minus or plus icon depending on whether the accordion
1410
1410
  * is open or closed.
1411
1411
  */
1412
- var getIcon = function getIcon(isExpanded, index, id) {
1412
+ var getIcon = function getIcon(isExpanded, index, id, iconColor) {
1413
1413
  if (isExpanded === void 0) {
1414
1414
  isExpanded = false;
1415
1415
  }
@@ -1417,7 +1417,8 @@ var getIcon = function getIcon(isExpanded, index, id) {
1417
1417
  return React__default.createElement(Icon, {
1418
1418
  id: "accordion-" + id + "-icon-" + index,
1419
1419
  name: iconName,
1420
- size: "small"
1420
+ size: "small",
1421
+ color: iconColor
1421
1422
  });
1422
1423
  };
1423
1424
  /**
@@ -1425,7 +1426,7 @@ var getIcon = function getIcon(isExpanded, index, id) {
1425
1426
  * array. This automatically creates the `AccordionButton` and `AccordionPanel`
1426
1427
  * combination that is required for the Chakra `Accordion` component.
1427
1428
  */
1428
- var getElementsFromData = function getElementsFromData(data, id, isAlwaysRendered, panelMaxHeight) {
1429
+ var getElementsFromData = function getElementsFromData(data, id, isAlwaysRendered, isDarkMode, panelMaxHeight) {
1429
1430
  var _data, _data2;
1430
1431
  if (data === void 0) {
1431
1432
  data = [];
@@ -1433,7 +1434,11 @@ var getElementsFromData = function getElementsFromData(data, id, isAlwaysRendere
1433
1434
  if (isAlwaysRendered === void 0) {
1434
1435
  isAlwaysRendered = false;
1435
1436
  }
1436
- var colorMap = {
1437
+ var colorMap = isDarkMode ? {
1438
+ "default": "ui.white",
1439
+ warning: "ui.status.primary",
1440
+ error: "dark.ui.error.primary"
1441
+ } : {
1437
1442
  "default": "ui.white",
1438
1443
  warning: "ui.status.primary",
1439
1444
  error: "ui.status.secondary"
@@ -1466,7 +1471,7 @@ var getElementsFromData = function getElementsFromData(data, id, isAlwaysRendere
1466
1471
  var bgColorByAccordionType = colorMap[content.accordionType];
1467
1472
  return React__default.createElement(React__default.Fragment, null, React__default.createElement(AccordionButton, {
1468
1473
  id: id + "-button-" + index,
1469
- borderColor: "ui.gray.medium",
1474
+ borderColor: isDarkMode ? "dark.ui.border.default" : "ui.gray.medium",
1470
1475
  padding: multiplePadding,
1471
1476
  bg: !content.accordionType ? colorMap["default"] : bgColorByAccordionType,
1472
1477
  _expanded: {
@@ -1475,13 +1480,22 @@ var getElementsFromData = function getElementsFromData(data, id, isAlwaysRendere
1475
1480
  _hover: {
1476
1481
  bg: !content.accordionType || content.accordionType === "default" ? "transparent" : bgColorByAccordionType,
1477
1482
  borderColor: "ui.gray.dark"
1483
+ },
1484
+ _dark: {
1485
+ _expanded: {
1486
+ bg: "dark.ui.bg.active"
1487
+ },
1488
+ bg: "dark.ui.bg.default",
1489
+ color: "dark.ui.typography.heading",
1490
+ borderLeft: "4px solid",
1491
+ borderLeftColor: !content.accordionType || content.accordionType === "default" ? "dark.ui.border.hover" : bgColorByAccordionType
1478
1492
  }
1479
1493
  }, React__default.createElement(Box, {
1480
1494
  as: "span",
1481
1495
  flex: "1",
1482
1496
  fontSize: multipleFontSize,
1483
1497
  textAlign: "left"
1484
- }, content.label), getIcon(isExpanded, index, id)), (isAlwaysRendered || isExpanded) && panel);
1498
+ }, content.label), getIcon(isExpanded, index, id, isDarkMode ? "dark.ui.typography.heading" : "ui.black")), (isAlwaysRendered || isExpanded) && panel);
1485
1499
  });
1486
1500
  });
1487
1501
  };
@@ -1498,6 +1512,7 @@ var Accordion = /*#__PURE__*/chakra( /*#__PURE__*/forwardRef(function (props, re
1498
1512
  isAlwaysRendered = _props$isAlwaysRender === void 0 ? false : _props$isAlwaysRender,
1499
1513
  panelMaxHeight = props.panelMaxHeight,
1500
1514
  rest = _objectWithoutPropertiesLoose(props, _excluded$R);
1515
+ var isDarkMode = useColorMode().colorMode === "dark";
1501
1516
  // Pass `0` to open the first accordion in the 0-index based array.
1502
1517
  var openFirstAccordion = isDefaultOpen ? [0] : undefined;
1503
1518
  return React__default.createElement(Accordion$2, Object.assign({
@@ -1505,7 +1520,7 @@ var Accordion = /*#__PURE__*/chakra( /*#__PURE__*/forwardRef(function (props, re
1505
1520
  defaultIndex: openFirstAccordion,
1506
1521
  id: id,
1507
1522
  ref: ref
1508
- }, rest), getElementsFromData(accordionData, id, isAlwaysRendered, panelMaxHeight));
1523
+ }, rest), getElementsFromData(accordionData, id, isAlwaysRendered, isDarkMode, panelMaxHeight));
1509
1524
  }));
1510
1525
 
1511
1526
  var _excluded$S = ["buttonType", "children", "className", "id", "isDisabled", "mouseDown", "onClick", "size", "type"];
@@ -2022,13 +2037,15 @@ var AlphabetFilter = /*#__PURE__*/chakra( /*#__PURE__*/forwardRef(function (prop
2022
2037
  setSelectedLetter(clickedLetter);
2023
2038
  onClick && onClick(clickedLetter);
2024
2039
  };
2040
+ // Set the color of the border of the selected letter based on the color mode.
2041
+ var selectedLetterBorderColor = useColorModeValue("ui.gray.dark", "ui.gray.medium");
2025
2042
  var getButtonElement = function getButtonElement(item) {
2026
2043
  var isSelectedLetter = selectedLetter === item.value && item.value !== "showAll";
2027
2044
  var isShowAll = item.value === "showAll";
2028
2045
  var isButtonDisabled = isDisabled || activeLetters && !activeLetters.includes(item.value) && !isShowAll;
2029
2046
  var buttonStyles = isSelectedLetter ? _extends({}, styles.button, {
2030
2047
  border: "1px solid",
2031
- borderColor: "ui.border.hover"
2048
+ borderColor: selectedLetterBorderColor
2032
2049
  }) : _extends({}, styles.button, {
2033
2050
  border: "1px solid transparent"
2034
2051
  });
@@ -4160,8 +4177,11 @@ var activeFocus = function activeFocus(darkMode) {
4160
4177
  boxShadow: "none",
4161
4178
  outline: "2px solid",
4162
4179
  outlineOffset: "2px",
4163
- outlineColor: darkMode ? "ui.white" : "ui.focus",
4164
- zIndex: "9999"
4180
+ outlineColor: darkMode ? "dark.ui.focus" : "ui.focus",
4181
+ zIndex: "9999",
4182
+ _dark: {
4183
+ outlineColor: "dark.ui.focus"
4184
+ }
4165
4185
  };
4166
4186
  };
4167
4187
  // Used in `Checkbox` and `Radio`.
@@ -4178,6 +4198,14 @@ var checkboxRadioLabelStyles = {
4178
4198
  },
4179
4199
  _invalid: {
4180
4200
  color: "ui.error.primary"
4201
+ },
4202
+ _dark: {
4203
+ _disabled: {
4204
+ color: "dark.ui.disabled.primary"
4205
+ },
4206
+ _invalid: {
4207
+ color: "dark.ui.error.primary"
4208
+ }
4181
4209
  }
4182
4210
  };
4183
4211
  // Custom values not in the spacing theme.
@@ -4210,6 +4238,22 @@ var checkboxRadioHoverStyles = {
4210
4238
  _invalid: {
4211
4239
  borderColor: "ui.error.primary"
4212
4240
  }
4241
+ },
4242
+ _dark: {
4243
+ span: {
4244
+ _first: {
4245
+ borderColor: "ui.gray.dark"
4246
+ },
4247
+ _checked: {
4248
+ borderColor: "dark.ui.focus"
4249
+ },
4250
+ _disabled: {
4251
+ borderColor: "dark.ui.disabled.primary"
4252
+ },
4253
+ _invalid: {
4254
+ borderColor: "dark.ui.error.primary"
4255
+ }
4256
+ }
4213
4257
  }
4214
4258
  }
4215
4259
  };
@@ -4239,6 +4283,9 @@ var labelLegendText = {
4239
4283
  width: "100%",
4240
4284
  span: {
4241
4285
  fontWeight: "regular"
4286
+ },
4287
+ _dark: {
4288
+ color: "dark.ui.typography.heading"
4242
4289
  }
4243
4290
  };
4244
4291
  // Used for the disabled state of Select and TextInput
@@ -4246,11 +4293,19 @@ var selectTextInputDisabledStyles = {
4246
4293
  bg: "ui.disabled.secondary",
4247
4294
  borderColor: "ui.disabled.primary",
4248
4295
  color: "ui.gray.dark",
4249
- opacity: "1"
4296
+ opacity: "1",
4297
+ _dark: {
4298
+ bg: "dark.ui.bg.default",
4299
+ borderColor: "dark.ui.disabled.secondary",
4300
+ color: "dark.ui.disabled.primary"
4301
+ }
4250
4302
  };
4251
4303
  // Used for the focus state of Select and TextInput
4252
4304
  var selectTextInputFocusStyles = /*#__PURE__*/_extends({}, /*#__PURE__*/activeFocus(), {
4253
- borderColor: "ui.focus"
4305
+ borderColor: "ui.focus",
4306
+ _dark: /*#__PURE__*/_extends({}, /*#__PURE__*/activeFocus(true), {
4307
+ borderColor: "dark.ui.focus"
4308
+ })
4254
4309
  });
4255
4310
  // Used for p, ul, and ol
4256
4311
  var textMargin = {
@@ -4272,7 +4327,11 @@ var global = {
4272
4327
  fontSize: "text.default",
4273
4328
  fontWeight: "text.default",
4274
4329
  lineHeight: "1.5",
4275
- overflowX: "hidden"
4330
+ overflowX: "hidden",
4331
+ _dark: {
4332
+ bg: "dark.ui.bg.page",
4333
+ color: "dark.ui.typography.body"
4334
+ }
4276
4335
  },
4277
4336
  // styles for the `a` element
4278
4337
  a: {
@@ -4354,9 +4413,86 @@ var linkPrimary = "#0576D3";
4354
4413
  var linkSecondary = "#004B98";
4355
4414
  var brandPrimary = "#C60917";
4356
4415
  var brandSecondary = "#760000";
4416
+ var blogsPrimary = grayLightCool;
4417
+ var blogsSecondary = grayMedium;
4418
+ var educationPrimary = "#1D62E6";
4419
+ var educationSecondary = "#2540A4";
4420
+ var researchPrimary = "#00838A";
4421
+ var researchSecondary = "#006166";
4422
+ var researchLibraryLpa = "#005D53";
4423
+ var researchLibrarySchomburg = "#A03E31";
4424
+ var researchLibrarySchwartzman = brandSecondary;
4425
+ var whatsOnPrimary = "#242424";
4426
+ var whatsOnSecondary = black;
4357
4427
  var brandObj = {
4358
- primary: brandPrimary,
4359
- secondary: brandSecondary
4428
+ light: {
4429
+ primary: brandPrimary,
4430
+ secondary: brandSecondary
4431
+ },
4432
+ dark: {
4433
+ primary: /*#__PURE__*/hexToRGB(brandPrimary, 0.2),
4434
+ secondary: /*#__PURE__*/hexToRGB(brandSecondary, 0.2)
4435
+ }
4436
+ };
4437
+ var blogsObj = {
4438
+ light: {
4439
+ primary: blogsPrimary,
4440
+ secondary: blogsSecondary
4441
+ },
4442
+ dark: {
4443
+ primary: /*#__PURE__*/hexToRGB(blogsPrimary, 0.2),
4444
+ secondary: /*#__PURE__*/hexToRGB(blogsSecondary, 0.2)
4445
+ }
4446
+ };
4447
+ var booksAndMoreObj = {
4448
+ light: brandObj.light,
4449
+ dark: brandObj.dark
4450
+ };
4451
+ var educationObj = {
4452
+ light: {
4453
+ primary: educationPrimary,
4454
+ secondary: educationSecondary
4455
+ },
4456
+ dark: {
4457
+ primary: /*#__PURE__*/hexToRGB(educationPrimary, 0.2),
4458
+ secondary: /*#__PURE__*/hexToRGB(educationSecondary, 0.2)
4459
+ }
4460
+ };
4461
+ var locationsObj = {
4462
+ light: brandObj.light,
4463
+ dark: brandObj.dark
4464
+ };
4465
+ var researchObj = {
4466
+ light: {
4467
+ primary: researchPrimary,
4468
+ secondary: researchSecondary
4469
+ },
4470
+ dark: {
4471
+ primary: /*#__PURE__*/hexToRGB(researchPrimary, 0.2),
4472
+ secondary: /*#__PURE__*/hexToRGB(researchSecondary, 0.2)
4473
+ }
4474
+ };
4475
+ var researchLibraryObj = {
4476
+ light: {
4477
+ lpa: researchLibraryLpa,
4478
+ schomburg: researchLibrarySchomburg,
4479
+ schwatzman: researchLibrarySchwartzman
4480
+ },
4481
+ dark: {
4482
+ lpa: /*#__PURE__*/hexToRGB(researchLibraryLpa, 0.2),
4483
+ schomburg: /*#__PURE__*/hexToRGB(researchLibrarySchomburg, 0.2),
4484
+ schwatzman: /*#__PURE__*/hexToRGB(researchLibrarySchwartzman, 0.2)
4485
+ }
4486
+ };
4487
+ var whatsOnObj = {
4488
+ light: {
4489
+ primary: whatsOnPrimary,
4490
+ secondary: whatsOnSecondary
4491
+ },
4492
+ dark: {
4493
+ primary: /*#__PURE__*/hexToRGB(grayLightCool, 0.2),
4494
+ secondary: /*#__PURE__*/hexToRGB(white, 0.05)
4495
+ }
4360
4496
  };
4361
4497
  var colors = {
4362
4498
  transparent: "transparent",
@@ -4394,7 +4530,6 @@ var colors = {
4394
4530
  },
4395
4531
  // Semantic colors
4396
4532
  bg: {
4397
- page: white,
4398
4533
  "default": grayxLightCool,
4399
4534
  hover: grayLightCool,
4400
4535
  active: grayMedium
@@ -4427,12 +4562,22 @@ var colors = {
4427
4562
  "x-light-warm": "#F8F8F7"
4428
4563
  }
4429
4564
  },
4430
- // dark mode ui fills
4565
+ // dark mode fills
4431
4566
  dark: {
4567
+ brand: brandObj.dark,
4568
+ section: {
4569
+ blogs: blogsObj.dark,
4570
+ "books-and-more": booksAndMoreObj.dark,
4571
+ education: educationObj.dark,
4572
+ locations: locationsObj.dark,
4573
+ research: researchObj.dark,
4574
+ "research-library": researchLibraryObj.dark,
4575
+ "whats-on": whatsOnObj.dark
4576
+ },
4432
4577
  ui: {
4433
4578
  /// State and link utilities
4434
4579
  disabled: {
4435
- primary: grayxDark,
4580
+ primary: grayDark,
4436
4581
  secondary: grayxxDark
4437
4582
  },
4438
4583
  error: {
@@ -4442,6 +4587,8 @@ var colors = {
4442
4587
  focus: "#6090E3",
4443
4588
  link: {
4444
4589
  primary: "#79B7EB",
4590
+ "primary-05": /*#__PURE__*/hexToRGB("#79B7EB", 0.05),
4591
+ "primary-10": /*#__PURE__*/hexToRGB("#79B7EB", 0.1),
4445
4592
  secondary: "#95CFFF"
4446
4593
  },
4447
4594
  status: {
@@ -4472,49 +4619,33 @@ var colors = {
4472
4619
  heading: grayLightCool,
4473
4620
  body: grayMedium,
4474
4621
  inverse: {
4475
- heading: grayxxDark,
4476
- body: grayxxDark
4622
+ heading: grayxxxDark,
4623
+ body: grayxxxDark
4477
4624
  }
4478
4625
  }
4479
4626
  }
4480
4627
  },
4481
4628
  /** Brand fills are the NYPL primary and secondary colors. */
4482
- brand: brandObj,
4629
+ brand: brandObj.light,
4483
4630
  /** Brand fills for sections on NYPL pages. */
4484
4631
  section: {
4485
4632
  /** Blogs is used for the Blogs section. */
4486
- blogs: {
4487
- primary: grayLightCool,
4488
- secondary: grayMedium
4489
- },
4633
+ blogs: blogsObj.light,
4490
4634
  /** Books and More is used for the Catalog, Staff Picks, Recommendations,
4491
4635
  * New Arrivals, and E-Book Central. */
4492
- "books-and-more": brandObj,
4636
+ "books-and-more": booksAndMoreObj.light,
4493
4637
  /** Education is used for the Education section front and associated
4494
4638
  * sub-sections. */
4495
- education: {
4496
- primary: "#1D62E6",
4497
- secondary: "#2540A4"
4498
- },
4639
+ education: educationObj.light,
4499
4640
  /** Locations is used for Location Finder and all branch pages with
4500
4641
  * the exceptions of some research libraries. */
4501
- locations: brandObj,
4642
+ locations: locationsObj.light,
4502
4643
  /** Research is used for the Research Catalog and SCC. */
4503
- research: {
4504
- primary: "#00838A",
4505
- secondary: "#006166"
4506
- },
4644
+ research: researchObj.light,
4507
4645
  /** Research libraries with specific brand colors to adhere to. */
4508
- "research-library": {
4509
- lpa: "#005D53",
4510
- schomburg: "#A03E31",
4511
- schwartzman: brandSecondary
4512
- },
4646
+ "research-library": researchLibraryObj.light,
4513
4647
  /** What's On is used for Exhibitions & Events. */
4514
- "whats-on": {
4515
- primary: "#242424",
4516
- secondary: black
4517
- }
4648
+ "whats-on": whatsOnObj.light
4518
4649
  },
4519
4650
  /**
4520
4651
  * The following color scales are useful for color edge cases where a
@@ -4720,17 +4851,31 @@ var typography = {
4720
4851
 
4721
4852
  var containerStyles = {
4722
4853
  border: "none",
4723
- width: "100%"
4854
+ width: "100%",
4855
+ _dark: {
4856
+ bg: "dark.ui.bg.default",
4857
+ color: "dark.ui.typography.heading",
4858
+ borderColor: "dark.ui.border.default"
4859
+ }
4724
4860
  };
4725
4861
  var buttonStyles = {
4726
4862
  borderWidth: "1px",
4727
- fontWeight: "medium"
4863
+ fontWeight: "medium",
4864
+ _dark: {
4865
+ bg: "dark.ui.bg.default",
4866
+ color: "dark.ui.typography.heading"
4867
+ }
4728
4868
  };
4729
4869
  var panelStyles = {
4730
4870
  padding: "s",
4731
4871
  borderLeftWidth: "1px",
4732
4872
  borderRightWidth: "1px",
4733
- borderBottomWidth: "1px"
4873
+ borderBottomWidth: "1px",
4874
+ _dark: {
4875
+ bg: "dark.ui.bg.default",
4876
+ color: "dark.ui.typography.body",
4877
+ borderColor: "dark.ui.border.default"
4878
+ }
4734
4879
  };
4735
4880
  var Accordion$1 = {
4736
4881
  parts: ["container", "button", "panel"],
@@ -4778,7 +4923,14 @@ var AudioPlayer$1 = {
4778
4923
  baseStyle: {
4779
4924
  invalid: {
4780
4925
  backgroundColor: "ui.bg.default",
4781
- padding: "s"
4926
+ border: "1px solid",
4927
+ borderColor: "ui.border.default",
4928
+ padding: "s",
4929
+ _dark: {
4930
+ bg: "dark.ui.bg.default",
4931
+ border: "1px solid",
4932
+ borderColor: "dark.ui.border.default"
4933
+ }
4782
4934
  }
4783
4935
  }
4784
4936
  };
@@ -4787,9 +4939,17 @@ var AudioPlayer$1 = {
4787
4939
  var blogs = {
4788
4940
  bg: "section.blogs.secondary",
4789
4941
  color: "ui.black",
4942
+ _dark: {
4943
+ bg: "dark.section.blogs.secondary"
4944
+ },
4790
4945
  a: {
4791
4946
  _hover: {
4792
- color: "ui.gray.x-dark"
4947
+ color: "ui.gray.xx-dark"
4948
+ },
4949
+ _dark: {
4950
+ _hover: {
4951
+ color: "dark.ui.typography.heading"
4952
+ }
4793
4953
  }
4794
4954
  },
4795
4955
  svg: {
@@ -4797,19 +4957,40 @@ var blogs = {
4797
4957
  }
4798
4958
  };
4799
4959
  var booksAndMore = {
4800
- bg: "section.books-and-more.secondary"
4960
+ bg: "section.books-and-more.secondary",
4961
+ _dark: {
4962
+ bg: "dark.section.books-and-more.secondary"
4963
+ }
4964
+ };
4965
+ var brand = {
4966
+ bg: "brand.secondary",
4967
+ _dark: {
4968
+ bg: "dark.brand.secondary"
4969
+ }
4801
4970
  };
4802
4971
  var education = {
4803
- bg: "section.education.secondary"
4972
+ bg: "section.education.secondary",
4973
+ _dark: {
4974
+ bg: "dark.section.education.secondary"
4975
+ }
4804
4976
  };
4805
4977
  var locations = {
4806
- bg: "section.locations.primary"
4978
+ bg: "section.locations.primary",
4979
+ _dark: {
4980
+ bg: "dark.section.locations.primary"
4981
+ }
4807
4982
  };
4808
4983
  var research = {
4809
- bg: "section.research.secondary"
4984
+ bg: "section.research.secondary",
4985
+ _dark: {
4986
+ bg: "dark.section.research.secondary"
4987
+ }
4810
4988
  };
4811
4989
  var whatsOn = {
4812
- bg: "section.whats-on.secondary"
4990
+ bg: "section.whats-on.secondary",
4991
+ _dark: {
4992
+ bg: "dark.section.whats-on.secondary"
4993
+ }
4813
4994
  };
4814
4995
  var Breadcrumb = {
4815
4996
  baseStyle: {
@@ -4819,6 +5000,10 @@ var Breadcrumb = {
4819
5000
  fontWeight: "breadcrumbs.default",
4820
5001
  paddingBottom: "xs",
4821
5002
  paddingTop: "xs",
5003
+ _dark: {
5004
+ bg: "dark.ui.bg.hover",
5005
+ color: "dark.ui.typography.heading"
5006
+ },
4822
5007
  ol: {
4823
5008
  alignItems: {
4824
5009
  base: "center",
@@ -4889,6 +5074,7 @@ var Breadcrumb = {
4889
5074
  variants: {
4890
5075
  blogs: blogs,
4891
5076
  booksAndMore: booksAndMore,
5077
+ brand: brand,
4892
5078
  education: education,
4893
5079
  locations: locations,
4894
5080
  research: research,
@@ -4922,6 +5108,26 @@ var buttonBaseStyle = {
4922
5108
  color: "ui.gray.dark",
4923
5109
  opacity: "1",
4924
5110
  pointerEvents: "none"
5111
+ },
5112
+ _dark: {
5113
+ _disabled: {
5114
+ bg: "dark.ui.disabled.secondary",
5115
+ color: "dark.ui.disabled.primary"
5116
+ }
5117
+ }
5118
+ };
5119
+ var ghostDarkStyles = {
5120
+ bg: "transparent",
5121
+ borderColor: "dark.ui.link.primary",
5122
+ color: "dark.ui.link.primary",
5123
+ _hover: {
5124
+ bg: "dark.ui.link.primary-10",
5125
+ borderColor: "dark.ui.link.secondary",
5126
+ color: "dark.ui.link.secondary"
5127
+ },
5128
+ _disabled: {
5129
+ bg: "dark.ui.bg.default",
5130
+ borderColor: "dark.ui.disabled.primary"
4925
5131
  }
4926
5132
  };
4927
5133
  var generalSizeValues = function generalSizeValues(size, isPill) {
@@ -4966,7 +5172,16 @@ var primary = function primary(_ref) {
4966
5172
  buttonSize = _ref$buttonSize === void 0 ? "medium" : _ref$buttonSize;
4967
5173
  return _extends({
4968
5174
  bg: "ui.link.primary"
4969
- }, generalSizeValues(buttonSize));
5175
+ }, generalSizeValues(buttonSize), {
5176
+ _dark: {
5177
+ bg: "dark.ui.link.primary",
5178
+ color: "ui.gray.xxx-dark",
5179
+ _hover: {
5180
+ bg: "dark.ui.link.secondary",
5181
+ color: "ui.gray.xxx-dark"
5182
+ }
5183
+ }
5184
+ });
4970
5185
  };
4971
5186
  var secondary = function secondary(_ref2) {
4972
5187
  var _ref2$buttonSize = _ref2.buttonSize,
@@ -4986,7 +5201,8 @@ var secondary = function secondary(_ref2) {
4986
5201
  bg: "transparent",
4987
5202
  borderColor: "ui.disabled.primary",
4988
5203
  color: "ui.disabled.primary"
4989
- }
5204
+ },
5205
+ _dark: _extends({}, ghostDarkStyles)
4990
5206
  });
4991
5207
  };
4992
5208
  // The "link" type is deprecated but we still want to style
@@ -5005,6 +5221,15 @@ var link = function link(_ref3) {
5005
5221
  _hover: {
5006
5222
  bg: "transparent",
5007
5223
  color: "ui.link.secondary"
5224
+ },
5225
+ _dark: {
5226
+ color: "dark.ui.link.primary",
5227
+ _disabled: {
5228
+ bg: "transparent"
5229
+ },
5230
+ _hover: {
5231
+ color: "dark.ui.link.secondary"
5232
+ }
5008
5233
  }
5009
5234
  });
5010
5235
  };
@@ -5021,6 +5246,15 @@ var text = function text(_ref4) {
5021
5246
  _hover: {
5022
5247
  bg: "ui.link.primary-05",
5023
5248
  color: "ui.link.secondary"
5249
+ },
5250
+ _dark: {
5251
+ color: "dark.ui.link.primary",
5252
+ _disabled: {
5253
+ bg: "transparent"
5254
+ },
5255
+ _hover: {
5256
+ color: "dark.ui.link.secondary"
5257
+ }
5024
5258
  }
5025
5259
  });
5026
5260
  };
@@ -5030,7 +5264,7 @@ var pill = function pill(_ref5) {
5030
5264
  return _extends({
5031
5265
  bg: "ui.white",
5032
5266
  border: "1px solid",
5033
- borderColor: "ui.gray.light-cool",
5267
+ borderColor: "ui.border.default",
5034
5268
  borderRadius: "button.pill",
5035
5269
  color: "inherit"
5036
5270
  }, generalSizeValues(buttonSize, true), {
@@ -5040,6 +5274,16 @@ var pill = function pill(_ref5) {
5040
5274
  },
5041
5275
  _disabled: {
5042
5276
  bg: "ui.gray.x-light-cool"
5277
+ },
5278
+ _dark: {
5279
+ background: "transparent",
5280
+ borderColor: "dark.ui.border.default",
5281
+ color: "dark.ui.typography.heading",
5282
+ _hover: {
5283
+ background: "dark.ui.bg.hover",
5284
+ borderColor: "dark.ui.border.hover",
5285
+ color: "dark.ui.typography.heading"
5286
+ }
5043
5287
  }
5044
5288
  });
5045
5289
  };
@@ -5058,7 +5302,8 @@ var iconOnly = function iconOnly(_ref6) {
5058
5302
  bg: "ui.link.primary-05",
5059
5303
  borderColor: "ui.link.secondary",
5060
5304
  color: "ui.link.secondary"
5061
- }
5305
+ },
5306
+ _dark: _extends({}, ghostDarkStyles)
5062
5307
  });
5063
5308
  };
5064
5309
  var callout = function callout(_ref7) {
@@ -5072,6 +5317,14 @@ var callout = function callout(_ref7) {
5072
5317
  },
5073
5318
  _active: {
5074
5319
  bg: "brand.secondary"
5320
+ },
5321
+ _dark: {
5322
+ bg: "brand.primary",
5323
+ color: "ui.white",
5324
+ _hover: {
5325
+ bg: "brand.secondary",
5326
+ color: "ui.white"
5327
+ }
5075
5328
  }
5076
5329
  });
5077
5330
  };
@@ -5084,6 +5337,14 @@ var noBrand = function noBrand(_ref8) {
5084
5337
  }, generalSizeValues(buttonSize), {
5085
5338
  _hover: {
5086
5339
  bg: "ui.gray.x-dark"
5340
+ },
5341
+ _dark: {
5342
+ bg: "ui.gray.x-dark",
5343
+ color: "ui.white",
5344
+ _hover: {
5345
+ bg: "ui.gray.dark",
5346
+ color: "ui.white"
5347
+ }
5087
5348
  }
5088
5349
  });
5089
5350
  };
@@ -5201,7 +5462,10 @@ var Card$1 = {
5201
5462
  } : {};
5202
5463
  var baseBorderStyles = isBordered ? {
5203
5464
  border: "1px solid",
5204
- borderColor: "ui.gray.medium"
5465
+ borderColor: "ui.border.default",
5466
+ _dark: {
5467
+ borderColor: "dark.ui.border.default"
5468
+ }
5205
5469
  } : {};
5206
5470
  var bodyPadding = getBodyPaddingStyles({
5207
5471
  isBordered: isBordered,
@@ -5260,8 +5524,13 @@ var Card$1 = {
5260
5524
  heading: {
5261
5525
  marginBottom: "xs",
5262
5526
  a: mainActionLink ? {
5263
- color: "ui.black"
5264
- } : null
5527
+ color: "ui.typography.heading"
5528
+ } : null,
5529
+ _dark: {
5530
+ a: mainActionLink ? {
5531
+ color: "dark.ui.typography.heading"
5532
+ } : null
5533
+ }
5265
5534
  }
5266
5535
  }, baseBorderStyles, layoutStyles);
5267
5536
  }
@@ -5296,7 +5565,10 @@ var CardActions$1 = {
5296
5565
  }
5297
5566
  }, topBorderStyles, bottomBorderStyles, {
5298
5567
  justifyContent: justifyContent,
5299
- borderColor: "ui.gray.medium"
5568
+ borderColor: "ui.border.default",
5569
+ _dark: {
5570
+ borderColor: "dark.ui.border.default"
5571
+ }
5300
5572
  });
5301
5573
  }
5302
5574
  };
@@ -5405,6 +5677,49 @@ var baseStyleControl = {
5405
5677
  _invalid: {
5406
5678
  borderColor: "ui.error.primary",
5407
5679
  color: "ui.error.primary"
5680
+ },
5681
+ _dark: {
5682
+ borderColor: "dark.ui.border.default",
5683
+ backgroundColor: "dark.ui.bg.default",
5684
+ color: "dark.ui.typography.body",
5685
+ _checked: {
5686
+ borderColor: "dark.ui.focus",
5687
+ color: "dark.ui.focus",
5688
+ _disabled: {
5689
+ backgroundColor: "dark.ui.bg.default",
5690
+ borderColor: "dark.ui.disabled.secondary",
5691
+ svg: {
5692
+ color: "dark.ui.disabled.secondary"
5693
+ }
5694
+ },
5695
+ _indeterminate: {
5696
+ color: "dark.ui.focus",
5697
+ borderColor: "dark.ui.focus"
5698
+ },
5699
+ _invalid: {
5700
+ borderColor: "dark.ui.error.primary",
5701
+ color: "dark.ui.error.primary"
5702
+ }
5703
+ },
5704
+ _indeterminate: {
5705
+ color: "dark.ui.focus",
5706
+ borderColor: "dark.ui.focus"
5707
+ },
5708
+ _disabled: {
5709
+ backgroundColor: "dark.ui.bg.default",
5710
+ borderColor: "dark.ui.disabled.secondary",
5711
+ svg: {
5712
+ color: "dark.ui.disabled.secondary"
5713
+ }
5714
+ },
5715
+ _focus: {
5716
+ boxShadow: "none",
5717
+ outlineColor: "dark.ui.focus"
5718
+ },
5719
+ _invalid: {
5720
+ borderColor: "dark.ui.error.primary",
5721
+ color: "dark.ui.error.primary"
5722
+ }
5408
5723
  }
5409
5724
  };
5410
5725
  // Style object for the Checkbox's label
@@ -5534,8 +5849,11 @@ var CustomImage = {
5534
5849
  width: "100%"
5535
5850
  }, imageSizes$1[size], {
5536
5851
  img: {
5537
- backgroundColor: "ui.gray.x-light-cool",
5538
- marginBottom: "xxs"
5852
+ backgroundColor: "ui.bg.default",
5853
+ marginBottom: "xxs",
5854
+ _dark: {
5855
+ backgroundColor: "dark.ui.bg.default"
5856
+ }
5539
5857
  }
5540
5858
  }),
5541
5859
  figcaption: {
@@ -5544,12 +5862,16 @@ var CustomImage = {
5544
5862
  },
5545
5863
  img: _extends({
5546
5864
  display: "block",
5547
- backgroundColor: "ui.gray.x-light-cool",
5865
+ backgroundColor: "ui.bg.default",
5548
5866
  boxSizing: "border-box",
5549
5867
  objectFit: "cover",
5550
5868
  position: "relative",
5551
5869
  width: "100%"
5552
- }, imageSizes$1[size]),
5870
+ }, imageSizes$1[size], {
5871
+ _dark: {
5872
+ backgroundColor: "dark.ui.bg.default"
5873
+ }
5874
+ }),
5553
5875
  captionWrappers: {
5554
5876
  marginTop: "xxs"
5555
5877
  }
@@ -5570,13 +5892,16 @@ var CustomImageWrapper = {
5570
5892
  }, imageSizes$1[size], {
5571
5893
  crop: _extends({}, imageRatios[ratio]),
5572
5894
  img: {
5573
- backgroundColor: "ui.gray.x-light-cool",
5895
+ backgroundColor: "ui.bg.default",
5574
5896
  height: "100%",
5575
5897
  left: "0",
5576
5898
  maxWidth: "100%",
5577
5899
  position: "absolute",
5578
5900
  top: "0",
5579
- width: "100%"
5901
+ width: "100%",
5902
+ _dark: {
5903
+ backgroundColor: "dark.ui.bg.default"
5904
+ }
5580
5905
  }
5581
5906
  });
5582
5907
  }
@@ -5611,7 +5936,19 @@ var select = {
5611
5936
  _invalid: {
5612
5937
  border: "1px solid",
5613
5938
  borderColor: "ui.error.primary",
5614
- boxShadow: "none"
5939
+ boxShadow: "none",
5940
+ color: "ui.error.primary"
5941
+ },
5942
+ _dark: {
5943
+ backgroundColor: "dark.ui.bg.default",
5944
+ borderColor: "dark.ui.border.default",
5945
+ _hover: {
5946
+ borderColor: "dark.ui.border.hover"
5947
+ },
5948
+ _invalid: {
5949
+ borderColor: "dark.ui.error.primary",
5950
+ color: "dark.ui.error.primary"
5951
+ }
5615
5952
  }
5616
5953
  };
5617
5954
  var Select = {
@@ -5683,11 +6020,25 @@ var FeedbackBox = {
5683
6020
  p: "0",
5684
6021
  position: "absolute",
5685
6022
  span: /*#__PURE__*/screenreaderOnly(),
5686
- top: "xs"
6023
+ top: "xs",
6024
+ _dark: {
6025
+ svg: {
6026
+ fill: "dark.ui.typography.heading"
6027
+ }
6028
+ }
5687
6029
  },
5688
6030
  drawerBody: {
6031
+ borderLeft: {
6032
+ base: undefined,
6033
+ md: "1px solid"
6034
+ },
6035
+ borderColor: "ui.border.default",
5689
6036
  paddingTop: "m",
5690
- paddingBottom: "m"
6037
+ paddingBottom: "m",
6038
+ _dark: {
6039
+ background: "dark.ui.bg.page",
6040
+ borderColor: "dark.ui.border.default"
6041
+ }
5691
6042
  },
5692
6043
  drawerContent: {
5693
6044
  marginStart: "auto",
@@ -5700,6 +6051,11 @@ var FeedbackBox = {
5700
6051
  alignItems: "baseline",
5701
6052
  background: "ui.gray.light-cool",
5702
6053
  borderBottomWidth: "1px",
6054
+ borderLeftWidth: {
6055
+ base: undefined,
6056
+ md: "1px"
6057
+ },
6058
+ borderTopWidth: "1px",
5703
6059
  display: "flex",
5704
6060
  fontSize: "text.default",
5705
6061
  px: "m",
@@ -5707,6 +6063,9 @@ var FeedbackBox = {
5707
6063
  paddingBottom: "s",
5708
6064
  p: {
5709
6065
  marginBottom: "0"
6066
+ },
6067
+ _dark: {
6068
+ background: "dark.ui.bg.hover"
5710
6069
  }
5711
6070
  },
5712
6071
  openButton: {
@@ -5743,16 +6102,32 @@ var filterBarWidth = {
5743
6102
  }
5744
6103
  };
5745
6104
  var FilterBar = {
5746
- parts: ["modalHeader", "modalFooter", "modalCloseButton", "globalButtonGroup", "globalButtonGroupWrapper"],
6105
+ parts: ["modalBody", "modalHeader", "modalFooter", "modalCloseButton", "globalButtonGroup", "globalButtonGroupWrapper"],
5747
6106
  baseStyle: function baseStyle(_ref) {
5748
6107
  var width = _ref.width;
5749
6108
  return {
5750
6109
  width: "full",
6110
+ modalBody: {
6111
+ _dark: {
6112
+ background: "dark.ui.bg.page"
6113
+ }
6114
+ },
5751
6115
  modalHeader: {
5752
- bg: "ui.gray.x-light-cool"
6116
+ bg: "ui.bg.default",
6117
+ _dark: {
6118
+ background: "dark.ui.bg.default",
6119
+ borderBottom: "1px solid",
6120
+ borderColor: "dark.ui.border.default"
6121
+ }
5753
6122
  },
5754
6123
  modalFooter: {
5755
- bg: "ui.gray.x-light-cool"
6124
+ bg: "ui.bg.default",
6125
+ _dark: {
6126
+ background: "dark.ui.bg.default",
6127
+ borderTop: "1px solid",
6128
+ borderColor: "dark.ui.border.default",
6129
+ color: "dark.ui.typography.heading"
6130
+ }
5756
6131
  },
5757
6132
  modalCloseButton: {
5758
6133
  mt: "8px"
@@ -5776,6 +6151,9 @@ var Footer = {
5776
6151
  lg: "30px 0"
5777
6152
  },
5778
6153
  position: "relative",
6154
+ _dark: {
6155
+ backgroundColor: "dark.ui.bg.default"
6156
+ },
5779
6157
  // The two main lists.
5780
6158
  listsContainer: {
5781
6159
  display: "flex",
@@ -5889,7 +6267,10 @@ var Footer = {
5889
6267
  textDecoration: "none",
5890
6268
  svg: {
5891
6269
  width: "36px",
5892
- height: "36px"
6270
+ height: "36px",
6271
+ _dark: {
6272
+ fill: "dark.ui.typography.body"
6273
+ }
5893
6274
  }
5894
6275
  }
5895
6276
  }
@@ -5908,11 +6289,17 @@ var Footer = {
5908
6289
  backgroundColor: footerGray,
5909
6290
  outline: "solid 2px",
5910
6291
  outlineColor: "ui.white"
6292
+ },
6293
+ _dark: {
6294
+ color: "dark.ui.typography.body"
5911
6295
  }
5912
6296
  },
5913
6297
  // All SVGs in the footer.
5914
6298
  svg: {
5915
- fill: "ui.white"
6299
+ fill: "ui.white",
6300
+ _dark: {
6301
+ color: "dark.ui.typography.body"
6302
+ }
5916
6303
  },
5917
6304
  // For the floating NYPL logo.
5918
6305
  logoContainer: {
@@ -5952,10 +6339,16 @@ var Footer = {
5952
6339
  width: {
5953
6340
  md: "400px"
5954
6341
  },
6342
+ _dark: {
6343
+ color: "dark.ui.typography.body"
6344
+ },
5955
6345
  img: {
5956
6346
  bg: "transparent",
5957
6347
  height: "auto",
5958
- width: "100%"
6348
+ width: "100%",
6349
+ _dark: {
6350
+ opacity: "0.8"
6351
+ }
5959
6352
  }
5960
6353
  },
5961
6354
  copyright: {
@@ -5980,6 +6373,7 @@ var headerDarkBlue = "#135772";
5980
6373
  var headerFocusColor = "#0F465C";
5981
6374
  var headerLightBlue = "#78CCED";
5982
6375
  var headerRed = "#ED1C24";
6376
+ var headerRedDarkMode = "dark.ui.error.primary";
5983
6377
  var headerRedDonate = "#E32B31";
5984
6378
  var headerYellow = "#FEE34A";
5985
6379
  var headerFocus = {
@@ -6008,7 +6402,10 @@ var Header = {
6008
6402
  horizontalRule: {
6009
6403
  bg: headerRed,
6010
6404
  marginTop: "0",
6011
- marginBottom: "0"
6405
+ marginBottom: "0",
6406
+ _dark: {
6407
+ backgroundColor: "dark.brand.primary"
6408
+ }
6012
6409
  },
6013
6410
  logo: {
6014
6411
  padding: {
@@ -6195,7 +6592,33 @@ var HeaderLogin = {
6195
6592
  base: "0",
6196
6593
  md: "28px"
6197
6594
  }
6198
- })
6595
+ }),
6596
+ _dark: {
6597
+ bgColor: {
6598
+ base: "brand.secondary",
6599
+ md: "dark.ui.link.primary"
6600
+ },
6601
+ color: {
6602
+ base: "ui.white",
6603
+ md: "ui.gray.xx-dark"
6604
+ },
6605
+ svg: {
6606
+ fill: {
6607
+ base: "ui.white",
6608
+ md: "ui.gray.xx-dark"
6609
+ }
6610
+ },
6611
+ _hover: {
6612
+ bgColor: {
6613
+ base: "brand.primary",
6614
+ md: "dark.ui.link.secondary"
6615
+ },
6616
+ color: {
6617
+ base: "ui.white",
6618
+ md: "ui.gray.xx-dark"
6619
+ }
6620
+ }
6621
+ }
6199
6622
  },
6200
6623
  patronGreeting: {
6201
6624
  alignSelf: "flex-start",
@@ -6292,7 +6715,16 @@ var HeaderLogin = {
6292
6715
  base: "0",
6293
6716
  md: "28px !important"
6294
6717
  }
6295
- })
6718
+ }),
6719
+ _dark: {
6720
+ color: "ui.gray.xx-dark",
6721
+ svg: {
6722
+ fill: "ui.gray.xx-dark"
6723
+ },
6724
+ _hover: {
6725
+ color: "ui.gray.xx-dark"
6726
+ }
6727
+ }
6296
6728
  }
6297
6729
  };
6298
6730
  }
@@ -6342,7 +6774,22 @@ var HeaderLoginButton = {
6342
6774
  },
6343
6775
  textDecoration: "none"
6344
6776
  },
6345
- _focus: headerFocus
6777
+ _focus: headerFocus,
6778
+ _dark: {
6779
+ bg: {
6780
+ base: isOpen ? headerBlack : "transparent",
6781
+ md: isOpen ? headerDarkBlue : "transparent"
6782
+ },
6783
+ color: "dark.ui.typography.heading",
6784
+ svg: {
6785
+ fill: isOpen ? "dark.ui.typography.heading" : null
6786
+ },
6787
+ _hover: {
6788
+ svg: {
6789
+ fill: "dark.ui.typography.heading"
6790
+ }
6791
+ }
6792
+ }
6346
6793
  };
6347
6794
  }
6348
6795
  };
@@ -6351,7 +6798,10 @@ var linkFocusHoverStyles = {
6351
6798
  borderBottom: "3px solid",
6352
6799
  color: headerRed,
6353
6800
  paddingBottom: "2px",
6354
- textDecoration: "none"
6801
+ textDecoration: "none",
6802
+ _dark: {
6803
+ color: headerRedDarkMode
6804
+ }
6355
6805
  };
6356
6806
  var HeaderLowerNav = {
6357
6807
  baseStyle: {
@@ -6371,7 +6821,12 @@ var HeaderLowerNav = {
6371
6821
  fontWeight: "medium",
6372
6822
  textDecoration: "none",
6373
6823
  _hover: linkFocusHoverStyles,
6374
- _focus: /*#__PURE__*/_extends({}, headerFocus, linkFocusHoverStyles)
6824
+ _focus: /*#__PURE__*/_extends({}, headerFocus, linkFocusHoverStyles),
6825
+ _dark: {
6826
+ color: "dark.ui.typography.heading",
6827
+ _hover: linkFocusHoverStyles,
6828
+ _focus: /*#__PURE__*/_extends({}, headerFocus, linkFocusHoverStyles)
6829
+ }
6375
6830
  }
6376
6831
  }
6377
6832
  };
@@ -6389,6 +6844,11 @@ var HeaderMobileIconNav = {
6389
6844
  minHeight: "60px",
6390
6845
  minWidth: "60px",
6391
6846
  _focus: headerFocus
6847
+ },
6848
+ _dark: {
6849
+ svg: {
6850
+ fill: "dark.ui.typography.heading"
6851
+ }
6392
6852
  }
6393
6853
  }
6394
6854
  };
@@ -6457,6 +6917,13 @@ var HeaderMobileNav = {
6457
6917
  backgroundColor: headerRedDonate,
6458
6918
  _hover: {
6459
6919
  backgroundColor: headerRedDonate
6920
+ },
6921
+ _dark: {
6922
+ bgColor: "brand.secondary",
6923
+ color: "ui.white",
6924
+ _hover: {
6925
+ bgColor: "brand.primary"
6926
+ }
6460
6927
  }
6461
6928
  }
6462
6929
  }
@@ -6483,7 +6950,13 @@ var HeaderMobileNavButton = {
6483
6950
  fill: isOpen ? "ui.white" : "ui.black"
6484
6951
  }
6485
6952
  },
6486
- _focus: headerFocus
6953
+ _focus: headerFocus,
6954
+ _dark: {
6955
+ backgroundColor: isOpen ? headerBlack : "transparent",
6956
+ svg: {
6957
+ fill: "dark.ui.typography.heading"
6958
+ }
6959
+ }
6487
6960
  };
6488
6961
  }
6489
6962
  };
@@ -6559,7 +7032,10 @@ var HeaderSearchForm = {
6559
7032
  fontStyle: "normal"
6560
7033
  },
6561
7034
  _focus: headerFocus,
6562
- _hover: headerFocus
7035
+ _hover: headerFocus,
7036
+ _dark: {
7037
+ color: "dark.ui.typography.body"
7038
+ }
6563
7039
  }
6564
7040
  },
6565
7041
  searchBtn: {
@@ -6626,6 +7102,13 @@ var HeaderSearchForm = {
6626
7102
  backgroundColor: headerBlue
6627
7103
  },
6628
7104
  _focus: headerFocus
7105
+ },
7106
+ _dark: {
7107
+ bgColor: "section.research.secondary",
7108
+ color: "ui.white",
7109
+ label: {
7110
+ color: "ui.white"
7111
+ }
6629
7112
  }
6630
7113
  }
6631
7114
  };
@@ -6647,13 +7130,25 @@ var HeaderSearchButton = {
6647
7130
  md: "80px"
6648
7131
  },
6649
7132
  textDecoration: "none",
7133
+ _dark: {
7134
+ bgColor: isOpen ? "section.research.secondary" : "transparent",
7135
+ color: isOpen ? "ui.white" : "dark.ui.link.primary"
7136
+ },
6650
7137
  span: {
6651
7138
  alignItems: "center",
6652
7139
  borderBottom: {
6653
7140
  md: "3px solid #1B7FA7"
6654
7141
  },
6655
7142
  display: "inline-flex",
6656
- lineHeight: "1.3"
7143
+ lineHeight: "1.3",
7144
+ _dark: {
7145
+ borderBottom: isOpen ? "0" : {
7146
+ md: "3px solid"
7147
+ },
7148
+ borderColor: {
7149
+ md: "dark.ui.link.primary"
7150
+ }
7151
+ }
6657
7152
  },
6658
7153
  svg: {
6659
7154
  marginLeft: {
@@ -6663,6 +7158,12 @@ var HeaderSearchButton = {
6663
7158
  fill: {
6664
7159
  base: isOpen ? "ui.white" : "ui.black",
6665
7160
  md: isOpen ? "ui.white" : "ui.link.primary"
7161
+ },
7162
+ _dark: {
7163
+ fill: {
7164
+ base: isOpen ? "ui.white" : "dark.ui.typography.heading",
7165
+ md: isOpen ? "ui.white" : "dark.ui.link.primary"
7166
+ }
6666
7167
  }
6667
7168
  },
6668
7169
  _hover: {
@@ -6674,6 +7175,15 @@ var HeaderSearchButton = {
6674
7175
  base: isOpen ? "ui.white" : "ui.black",
6675
7176
  md: isOpen ? "ui.white" : "ui.link.primary"
6676
7177
  }
7178
+ },
7179
+ _dark: {
7180
+ color: isOpen ? "ui.white" : "dark.ui.link.primary",
7181
+ svg: {
7182
+ fill: {
7183
+ base: isOpen ? "ui.white" : "dark.ui.typography.heading",
7184
+ md: isOpen ? "ui.white" : "dark.ui.link.primary"
7185
+ }
7186
+ }
6677
7187
  }
6678
7188
  },
6679
7189
  _focus: headerFocus
@@ -6705,7 +7215,22 @@ var SitewideAlerts = {
6705
7215
  },
6706
7216
  p: {
6707
7217
  marginBottom: "0"
7218
+ },
7219
+ _dark: {
7220
+ color: "dark.ui.typography.heading",
7221
+ a: {
7222
+ color: "dark.ui.typography.heading",
7223
+ _hover: {
7224
+ color: "dark.ui.typography.heading"
7225
+ }
7226
+ }
6708
7227
  }
7228
+ },
7229
+ _dark: {
7230
+ backgroundColor: "dark.ui.bg.active",
7231
+ borderBottom: "1px solid",
7232
+ borderColor: "dark.ui.status.primary",
7233
+ color: "dark.ui.typography.heading"
6709
7234
  }
6710
7235
  }
6711
7236
  };
@@ -6736,10 +7261,19 @@ var HeaderUpperNav = {
6736
7261
  color: "ui.black",
6737
7262
  textDecoration: "none"
6738
7263
  },
6739
- _focus: headerFocus
7264
+ _focus: headerFocus,
7265
+ _dark: {
7266
+ color: "dark.ui.typography.heading",
7267
+ _hover: {
7268
+ color: "dark.ui.typography.heading"
7269
+ }
7270
+ }
6740
7271
  },
6741
7272
  svg: {
6742
- marginTop: "0"
7273
+ marginTop: "0",
7274
+ _dark: {
7275
+ fill: "white"
7276
+ }
6743
7277
  },
6744
7278
  emailUpdatesLink: {
6745
7279
  display: "flex",
@@ -6756,6 +7290,12 @@ var HeaderUpperNav = {
6756
7290
  width: "85px",
6757
7291
  _hover: {
6758
7292
  bg: headerRed
7293
+ },
7294
+ _dark: {
7295
+ bgColor: "brand.secondary",
7296
+ _hover: {
7297
+ bgColor: "brand.primary"
7298
+ }
6759
7299
  }
6760
7300
  }
6761
7301
  }
@@ -6764,8 +7304,14 @@ var HeaderUpperNav = {
6764
7304
  var baseLinkStyles = {
6765
7305
  color: "ui.link.primary",
6766
7306
  textDecoration: "underline",
7307
+ _dark: {
7308
+ color: "dark.ui.link.primary"
7309
+ },
6767
7310
  _hover: {
6768
- color: "ui.link.secondary"
7311
+ color: "ui.link.secondary",
7312
+ _dark: {
7313
+ color: "dark.ui.link.secondary"
7314
+ }
6769
7315
  }
6770
7316
  };
6771
7317
  var baseButtonLinkStyles = /*#__PURE__*/_extends({}, buttonBaseStyle, {
@@ -6785,10 +7331,6 @@ var variants = {
6785
7331
  width: "s",
6786
7332
  textDecoration: "none",
6787
7333
  fill: "currentColor"
6788
- },
6789
- _hover: {
6790
- color: "ui.link.secondary",
6791
- textDecoration: "underline"
6792
7334
  }
6793
7335
  },
6794
7336
  // The "button" variant is deprecated.
@@ -6805,10 +7347,18 @@ var variants = {
6805
7347
  textDecoration: "none",
6806
7348
  fontWeight: "button.default",
6807
7349
  bg: "ui.link.primary",
7350
+ _dark: {
7351
+ color: "ui.gray.xxx-dark",
7352
+ bg: "dark.ui.link.primary"
7353
+ },
6808
7354
  _hover: {
6809
7355
  color: "ui.white",
6810
7356
  bg: "ui.link.secondary",
6811
- textDecoration: "none"
7357
+ textDecoration: "underline",
7358
+ _dark: {
7359
+ color: "ui.gray.xxx-dark",
7360
+ bg: "dark.ui.link.secondary"
7361
+ }
6812
7362
  }
6813
7363
  },
6814
7364
  buttonPrimary: /*#__PURE__*/_extends({}, baseButtonLinkStyles, /*#__PURE__*/primary({})),
@@ -6831,6 +7381,10 @@ var variants = {
6831
7381
  pointerEvents: "none",
6832
7382
  _visited: {
6833
7383
  color: "ui.gray.dark"
7384
+ },
7385
+ _dark: {
7386
+ bg: "dark.ui.disabled.secondary",
7387
+ color: "dark.ui.disabled.primary"
6834
7388
  }
6835
7389
  })
6836
7390
  };
@@ -6919,7 +7473,10 @@ var Heading$1 = {
6919
7473
  // passed as children to the Heading component.
6920
7474
  a: baseLinkStyles,
6921
7475
  marginBottom: noSpace ? "0" : "s",
6922
- textTransform: isCapitalized ? "capitalize" : isUppercase ? "uppercase" : isLowercase ? "lowercase" : null
7476
+ textTransform: isCapitalized ? "capitalize" : isUppercase ? "uppercase" : isLowercase ? "lowercase" : null,
7477
+ _dark: {
7478
+ color: "dark.ui.typography.heading"
7479
+ }
6923
7480
  };
6924
7481
  },
6925
7482
  // Available variants:
@@ -6938,7 +7495,10 @@ var helperErrorText = {
6938
7495
  marginTop: "xxs",
6939
7496
  marginBottom: "0",
6940
7497
  fontSize: "helper.default",
6941
- color: isInvalid ? "ui.error.primary" : "ui.black"
7498
+ color: isInvalid ? "ui.error.primary" : null,
7499
+ _dark: {
7500
+ color: isInvalid ? "dark.ui.error.primary" : null
7501
+ }
6942
7502
  };
6943
7503
  }
6944
7504
  };
@@ -7011,20 +7571,31 @@ var secondaryHeadingBase = {
7011
7571
  position: "absolute",
7012
7572
  width: "4000px",
7013
7573
  zIndex: "-1"
7574
+ },
7575
+ _dark: {
7576
+ color: "dark.ui.typography.heading"
7014
7577
  }
7015
7578
  };
7016
7579
  // Get all the styles for the specific Secondary variant but
7017
7580
  // update the background color.
7018
7581
  var getSecondaryVariantStyles = function getSecondaryVariantStyles(bgColor) {
7019
7582
  if (bgColor === void 0) {
7020
- bgColor = "ui.black";
7583
+ bgColor = "";
7021
7584
  }
7585
+ var finalBgColor = {
7586
+ light: bgColor ? bgColor : "ui.black",
7587
+ dark: bgColor ? "dark." + bgColor : "dark.ui.bg.active"
7588
+ };
7022
7589
  return _extends({}, secondaryBase, {
7023
7590
  heading: _extends({}, secondaryHeadingBase, {
7024
- bg: bgColor,
7025
7591
  _before: _extends({}, secondaryHeadingBase["_before"], {
7026
- bg: bgColor
7027
- })
7592
+ bg: finalBgColor.light
7593
+ }),
7594
+ _dark: {
7595
+ _before: {
7596
+ bg: finalBgColor.dark
7597
+ }
7598
+ }
7028
7599
  })
7029
7600
  });
7030
7601
  };
@@ -7063,6 +7634,10 @@ var primary$1 = {
7063
7634
  },
7064
7635
  bodyText: {
7065
7636
  marginBottom: "0"
7637
+ },
7638
+ _dark: {
7639
+ bgColor: "dark.ui.bg.default",
7640
+ color: "dark.ui.typography.body"
7066
7641
  }
7067
7642
  }
7068
7643
  };
@@ -7088,6 +7663,9 @@ var tertiary = {
7088
7663
  base: "xxs",
7089
7664
  xl: "xs"
7090
7665
  }
7666
+ },
7667
+ _dark: {
7668
+ color: "dark.ui.typography.body"
7091
7669
  }
7092
7670
  }),
7093
7671
  heading: {
@@ -7098,6 +7676,9 @@ var tertiary = {
7098
7676
  },
7099
7677
  p: {
7100
7678
  marginBottom: "0"
7679
+ },
7680
+ _dark: {
7681
+ bg: "dark.ui.bg.default"
7101
7682
  }
7102
7683
  };
7103
7684
  var campaign = {
@@ -7135,6 +7716,10 @@ var campaign = {
7135
7716
  },
7136
7717
  top: {
7137
7718
  md: "xxl"
7719
+ },
7720
+ _dark: {
7721
+ bg: "dark.ui.bg.default",
7722
+ color: "dark.ui.typography.body"
7138
7723
  }
7139
7724
  },
7140
7725
  a: {
@@ -7199,7 +7784,10 @@ var fiftyFifty = {
7199
7784
  };
7200
7785
  var Hero = {
7201
7786
  baseStyle: {
7202
- bg: "ui.gray.x-light-cool"
7787
+ bgColor: "ui.gray.x-light-cool",
7788
+ _dark: {
7789
+ bgColor: "dark.ui.bg.default"
7790
+ }
7203
7791
  },
7204
7792
  // Available variants:
7205
7793
  variants: {
@@ -7219,13 +7807,16 @@ var HorizontalRule = {
7219
7807
  baseStyle: function baseStyle(_ref) {
7220
7808
  var align = _ref.align;
7221
7809
  return {
7222
- bg: "ui.gray.light-cool",
7810
+ bg: "ui.bg.hover",
7223
7811
  border: "0",
7224
7812
  height: "2px",
7225
7813
  marginBottom: "s",
7226
7814
  marginTop: "s",
7227
7815
  marginStart: align === "left" ? 0 : "auto",
7228
- marginEnd: align === "right" ? 0 : "auto"
7816
+ marginEnd: align === "right" ? 0 : "auto",
7817
+ _dark: {
7818
+ bg: "dark.ui.bg.active"
7819
+ }
7229
7820
  };
7230
7821
  }
7231
7822
  };
@@ -7366,6 +7957,11 @@ var baseUnorderedStyles = function baseUnorderedStyles(noStyling) {
7366
7957
  lineHeight: "0.9",
7367
7958
  marginStart: "-1rem",
7368
7959
  width: "1rem"
7960
+ },
7961
+ _dark: {
7962
+ _before: {
7963
+ color: "dark.ui.bg.active"
7964
+ }
7369
7965
  }
7370
7966
  }
7371
7967
  });
@@ -7376,9 +7972,15 @@ var baseSectionDescriptionStyles = {
7376
7972
  paddingStart: "0",
7377
7973
  h2: {
7378
7974
  borderTop: "3px solid",
7379
- borderColor: "ui.gray.medium",
7975
+ borderColor: "ui.border.default",
7380
7976
  margin: "0",
7381
- padding: "var(--nypl-space-xs) 0 0"
7977
+ padding: "var(--nypl-space-xs) 0 0",
7978
+ _dark: {
7979
+ borderColor: "dark.ui.border.default"
7980
+ }
7981
+ },
7982
+ _dark: {
7983
+ borderColor: "dark.ui.border.default"
7382
7984
  }
7383
7985
  };
7384
7986
  var baseDescriptionStyles = /*#__PURE__*/_extends({}, baseSectionDescriptionStyles, {
@@ -7393,7 +7995,7 @@ var baseDescriptionStyles = /*#__PURE__*/_extends({}, baseSectionDescriptionStyl
7393
7995
  },
7394
7996
  dt: {
7395
7997
  borderTop: "1px solid",
7396
- borderColor: "ui.gray.light-cool",
7998
+ borderColor: "ui.border.default",
7397
7999
  fontWeight: "label.default",
7398
8000
  paddingBottom: {
7399
8001
  base: "0",
@@ -7402,6 +8004,10 @@ var baseDescriptionStyles = /*#__PURE__*/_extends({}, baseSectionDescriptionStyl
7402
8004
  paddingTop: "s",
7403
8005
  paddingEnd: {
7404
8006
  md: "table.column"
8007
+ },
8008
+ _dark: {
8009
+ borderColor: "dark.ui.border.default",
8010
+ color: "dark.ui.typography.heading"
7405
8011
  }
7406
8012
  },
7407
8013
  dd: {
@@ -7412,10 +8018,15 @@ var baseDescriptionStyles = /*#__PURE__*/_extends({}, baseSectionDescriptionStyl
7412
8018
  md: "1px solid"
7413
8019
  },
7414
8020
  borderColor: {
7415
- md: "ui.gray.light-cool"
8021
+ md: "ui.border.default"
7416
8022
  },
7417
8023
  paddingTop: {
7418
8024
  md: "s"
8025
+ },
8026
+ _dark: {
8027
+ borderColor: {
8028
+ md: "dark.ui.border.default"
8029
+ }
7419
8030
  }
7420
8031
  }
7421
8032
  });
@@ -7482,6 +8093,27 @@ var Logo = {
7482
8093
  }
7483
8094
  };
7484
8095
 
8096
+ var Modal = {
8097
+ parts: ["header", "overlay", "dialogContainer", "dialog", "closeButton", "body", "footer"],
8098
+ baseStyle: {
8099
+ dialog: {
8100
+ _dark: {
8101
+ bg: "dark.ui.bg.default"
8102
+ }
8103
+ },
8104
+ header: {
8105
+ _dark: {
8106
+ color: "dark.ui.typography.heading"
8107
+ }
8108
+ },
8109
+ body: {
8110
+ _dark: {
8111
+ color: "dark.ui.typography.body"
8112
+ }
8113
+ }
8114
+ }
8115
+ };
8116
+
7485
8117
  var multiSelectWidths = {
7486
8118
  "default": {
7487
8119
  width: {
@@ -7576,6 +8208,19 @@ var MultiSelect = {
7576
8208
  }
7577
8209
  }
7578
8210
  }
8211
+ },
8212
+ _dark: {
8213
+ background: "dark.ui.bg.default",
8214
+ borderColor: "dark.ui.border.hover",
8215
+ ul: {
8216
+ li: {
8217
+ div: {
8218
+ _hover: {
8219
+ bg: "dark.ui.bg.hover"
8220
+ }
8221
+ }
8222
+ }
8223
+ }
7579
8224
  }
7580
8225
  }),
7581
8226
  menu: {
@@ -7593,6 +8238,9 @@ var MultiSelect = {
7593
8238
  },
7594
8239
  _focus: {
7595
8240
  outline: "0px !important"
8241
+ },
8242
+ _dark: {
8243
+ colorScheme: "dark"
7596
8244
  }
7597
8245
  },
7598
8246
  menuChildren: {
@@ -7626,7 +8274,7 @@ var MultiSelectMenuButton = {
7626
8274
  backgroundColor: isOpen ? "ui.bg.active" : "ui.white",
7627
8275
  borderBottomLeftRadius: isOpen ? "0" : "button.default",
7628
8276
  borderBottomRightRadius: isOpen ? "0" : "button.default",
7629
- borderColor: isOpen ? "ui.gray.dark" : "ui.gray.medium",
8277
+ borderColor: isOpen ? "ui.border.hover" : "ui.border.default",
7630
8278
  borderRadius: "button.default",
7631
8279
  borderWidth: "1px",
7632
8280
  fontSize: "button.default",
@@ -7645,6 +8293,19 @@ var MultiSelectMenuButton = {
7645
8293
  },
7646
8294
  svg: {
7647
8295
  marginTop: "0"
8296
+ },
8297
+ _dark: {
8298
+ backgroundColor: isOpen ? "dark.ui.bg.active" : "dark.ui.bg.default",
8299
+ borderBottomLeftRadius: isOpen ? "0" : "button.default",
8300
+ borderBottomRightRadius: isOpen ? "0" : "button.default",
8301
+ borderColor: isOpen ? "dark.ui.border.hover" : "dark.ui.border.default",
8302
+ svg: {
8303
+ fill: "dark.ui.typography.heading"
8304
+ },
8305
+ _hover: {
8306
+ backgroundColor: isOpen ? "dark.ui.bg.active" : "dark.ui.bg.default",
8307
+ borderColor: "dark.ui.border.hover"
8308
+ }
7648
8309
  }
7649
8310
  },
7650
8311
  selectedItemsCountButton: {
@@ -7672,6 +8333,16 @@ var MultiSelectMenuButton = {
7672
8333
  marginLeft: "xxs",
7673
8334
  marginRight: "6px",
7674
8335
  marginTop: "0"
8336
+ },
8337
+ _dark: {
8338
+ backgroundColor: "dark.ui.bg.hover",
8339
+ borderColor: isOpen ? "dark.ui.border.hover" : "dark.ui.border.default",
8340
+ svg: {
8341
+ fill: "dark.ui.typography.heading"
8342
+ },
8343
+ _hover: {
8344
+ borderColor: isOpen ? "ui.white" : "dark.ui.border.hover"
8345
+ }
7675
8346
  }
7676
8347
  }
7677
8348
  };
@@ -7681,9 +8352,9 @@ var MultiSelectMenuButton = {
7681
8352
  var Notification = {
7682
8353
  parts: ["container", "dismissibleButton", "icon"],
7683
8354
  baseStyle: function baseStyle(_ref) {
7684
- var dismissible = _ref.dismissible,
7685
- isCentered = _ref.isCentered,
8355
+ var isCentered = _ref.isCentered,
7686
8356
  noMargin = _ref.noMargin,
8357
+ notificationHeading = _ref.notificationHeading,
7687
8358
  notificationType = _ref.notificationType;
7688
8359
  var bg = "ui.status.primary";
7689
8360
  if (notificationType === "announcement" || notificationType === "warning") {
@@ -7691,19 +8362,24 @@ var Notification = {
7691
8362
  }
7692
8363
  return {
7693
8364
  bg: bg,
8365
+ borderRadius: noMargin ? "0" : "4px",
7694
8366
  display: "flex",
7695
8367
  fontSize: "text.caption",
8368
+ m: noMargin ? "0" : "s",
7696
8369
  position: "relative",
8370
+ p: "inset.default",
7697
8371
  textAlign: isCentered ? "center" : null,
7698
- borderRadius: noMargin ? "0" : "4px",
7699
- margin: noMargin ? "0" : "s",
8372
+ _dark: {
8373
+ bg: "dark.ui.bg.hover"
8374
+ },
7700
8375
  container: {
7701
- margin: "auto",
8376
+ display: "flex",
8377
+ flexDirection: isCentered || notificationHeading ? "column" : "row",
8378
+ m: "auto",
7702
8379
  maxWidth: "var(--nypl-breakpoint-xl)",
7703
- padding: "inset.default",
7704
- paddingEnd: dismissible ? "l" : null,
7705
- paddingStart: isCentered && dismissible ? "l" : null,
7706
- width: "100%"
8380
+ paddingEnd: "s",
8381
+ paddingStart: "s",
8382
+ w: "100%"
7707
8383
  },
7708
8384
  dismissibleButton: {
7709
8385
  border: "none",
@@ -7711,8 +8387,8 @@ var Notification = {
7711
8387
  alignItems: "center",
7712
8388
  color: "ui.black",
7713
8389
  display: "flex",
7714
- height: "32px",
7715
- width: "32px",
8390
+ h: "32px",
8391
+ w: "32px",
7716
8392
  minWidth: "0",
7717
8393
  position: "absolute",
7718
8394
  right: "0",
@@ -7720,13 +8396,12 @@ var Notification = {
7720
8396
  svg: {
7721
8397
  marginTop: "0"
7722
8398
  },
8399
+ _dark: {
8400
+ color: "dark.ui.typography.body"
8401
+ },
7723
8402
  _hover: {
7724
8403
  bg: "inherit"
7725
8404
  }
7726
- },
7727
- icon: {
7728
- flexShrink: "0",
7729
- marginEnd: "xs"
7730
8405
  }
7731
8406
  };
7732
8407
  }
@@ -7734,22 +8409,38 @@ var Notification = {
7734
8409
  var NotificationContent = {
7735
8410
  parts: ["content"],
7736
8411
  baseStyle: function baseStyle(_ref2) {
7737
- var alignText = _ref2.alignText,
7738
- icon = _ref2.icon,
7739
- notificationType = _ref2.notificationType;
8412
+ var isCentered = _ref2.isCentered,
8413
+ notificationHeading = _ref2.notificationHeading,
8414
+ notificationType = _ref2.notificationType,
8415
+ showIcon = _ref2.showIcon;
7740
8416
  return {
7741
8417
  display: "flex",
7742
8418
  justifyContent: "center",
7743
8419
  content: {
7744
8420
  color: notificationType === "warning" ? "brand.primary" : "currentColor",
7745
- marginTop: icon ? "xxxs" : "0",
7746
- paddingStart: alignText ? "calc(var(--nypl-space-s) + var(--nypl-space-s))" : null,
7747
- width: "100%",
7748
- // Links should always be black and underlined.
8421
+ marginTop: showIcon ? "xxxs" : "0",
8422
+ paddingStart: !isCentered && showIcon ? notificationHeading ? "l" : "xs" : "0",
8423
+ pt: !isCentered && notificationHeading ? "xxs" : "0",
8424
+ w: "100%",
8425
+ _dark: {
8426
+ borderLeftColor: notificationType === "standard" ? "ui.status.primary" : notificationType === "announcement" ? "dark.ui.success.primary" : "dark.ui.error.primary",
8427
+ borderLeftStyle: !isCentered ? "solid" : "none",
8428
+ borderLeftWidth: "2px",
8429
+ marginTop: "0",
8430
+ paddingStart: !isCentered ? "xs" : "0",
8431
+ color: "dark.ui.typography.body",
8432
+ ml: !isCentered && showIcon ? notificationHeading ? "l" : "xs" : "0"
8433
+ },
8434
+ // Links should always be underlined, and always be black if the
8435
+ // color mode is light.
7749
8436
  a: {
7750
8437
  color: "ui.black",
7751
- _hover: {
7752
- color: "ui.black"
8438
+ textDecoration: "underline",
8439
+ _dark: {
8440
+ color: "dark.ui.link.primary",
8441
+ _hover: {
8442
+ color: "dark.ui.link.secondary"
8443
+ }
7753
8444
  }
7754
8445
  }
7755
8446
  }
@@ -7770,12 +8461,32 @@ var NotificationHeading = {
7770
8461
  }
7771
8462
  return {
7772
8463
  display: "flex",
7773
- marginBottom: "xxs",
7774
- justifyContent: isCentered ? "center" : null,
8464
+ flexDirection: isCentered ? "column" : "row",
8465
+ m: isCentered ? "auto" : "null",
8466
+ mb: isCentered ? "xs" : "0",
8467
+ px: isCentered ? "s" : "0",
8468
+ w: "fit-content",
8469
+ _dark: {
8470
+ borderBottomColor: notificationType === "standard" ? "ui.status.primary" : notificationType === "announcement" ? "dark.ui.success.primary" : "dark.ui.error.primary",
8471
+ borderBottomStyle: isCentered ? "solid" : "none",
8472
+ borderBottomWidth: "2px",
8473
+ color: "dark.ui.typography.heading",
8474
+ paddingBottom: isCentered ? "xs" : "0"
8475
+ },
7775
8476
  heading: {
7776
- marginBottom: "0",
7777
- marginTop: icon ? "xxxs" : "0",
7778
- color: color
8477
+ color: color,
8478
+ ml: icon && !isCentered ? "xs" : "0",
8479
+ mt: icon ? "xxxs" : "0",
8480
+ _dark: {
8481
+ borderLeftColor: notificationType === "standard" ? "ui.status.primary" : notificationType === "announcement" ? "dark.ui.success.primary" : "dark.ui.error.primary",
8482
+ borderLeftStyle: !isCentered ? "solid" : "none",
8483
+ borderLeftWidth: "2px",
8484
+ paddingLeft: !isCentered ? "xs" : "0"
8485
+ }
8486
+ },
8487
+ svg: {
8488
+ mx: isCentered ? "auto" : "",
8489
+ mb: isCentered ? "xxs" : "0"
7779
8490
  }
7780
8491
  };
7781
8492
  }
@@ -7809,6 +8520,9 @@ var ProgressIndicator = {
7809
8520
  size = _ref.size;
7810
8521
  return {
7811
8522
  color: darkMode ? "ui.white" : "ui.black",
8523
+ _dark: {
8524
+ color: "dark.ui.typography.heading"
8525
+ },
7812
8526
  circular: {
7813
8527
  // Note: we have to target the SVG HTMl elements in order
7814
8528
  // to override the default styles.
@@ -7818,10 +8532,16 @@ var ProgressIndicator = {
7818
8532
  display: "block",
7819
8533
  circle: {
7820
8534
  _first: {
7821
- stroke: darkMode ? "ui.gray.dark" : "ui.gray.light-cool"
8535
+ stroke: darkMode ? "ui.gray.dark" : "ui.gray.light-cool",
8536
+ _dark: {
8537
+ stroke: "dark.ui.bg.hover"
8538
+ }
7822
8539
  },
7823
8540
  _last: {
7824
- stroke: darkMode ? "ui.white" : "ui.link.primary"
8541
+ stroke: darkMode ? "ui.white" : "ui.link.primary",
8542
+ _dark: {
8543
+ stroke: "dark.ui.link.primary"
8544
+ }
7825
8545
  }
7826
8546
  }
7827
8547
  }
@@ -7836,13 +8556,20 @@ var ProgressIndicator = {
7836
8556
  // Hard to target this specific element without using
7837
8557
  // "Progress" as the key name in index.ts
7838
8558
  "> div": {
7839
- bg: darkMode ? "ui.white" : "ui.link.primary"
8559
+ bg: darkMode ? "ui.white" : "ui.link.primary",
8560
+ _dark: {
8561
+ bg: "dark.ui.link.primary"
8562
+ }
7840
8563
  },
7841
8564
  flex: 25,
7842
8565
  bg: darkMode ? "ui.gray.dark" : "ui.gray.light-cool",
7843
8566
  height: {
7844
8567
  base: "4px",
7845
8568
  md: size === "default" ? "8px" : "4px"
8569
+ },
8570
+ _dark: {
8571
+ bg: "dark.ui.bg.hover",
8572
+ color: "dark.ui.typography.heading"
7846
8573
  }
7847
8574
  },
7848
8575
  linearContainer: {
@@ -7910,6 +8637,42 @@ var baseStyleControl$1 = {
7910
8637
  }),
7911
8638
  _invalid: {
7912
8639
  borderColor: "ui.error.primary"
8640
+ },
8641
+ _dark: {
8642
+ borderColor: "dark.ui.border.default",
8643
+ backgroundColor: "dark.ui.bg.default",
8644
+ _checked: {
8645
+ borderColor: "dark.ui.focus",
8646
+ _disabled: {
8647
+ borderColor: "dark.ui.disabled.secondary",
8648
+ _before: {
8649
+ bg: "dark.ui.disabled.secondary"
8650
+ }
8651
+ },
8652
+ _invalid: {
8653
+ borderColor: "dark.ui.error.primary",
8654
+ _before: {
8655
+ borderColor: "dark.ui.error.primary",
8656
+ bg: "dark.ui.error.primary"
8657
+ }
8658
+ }
8659
+ },
8660
+ _disabled: {
8661
+ borderColor: "dark.ui.disabled.secondary",
8662
+ _before: {
8663
+ bg: "dark.ui.disabled.secondary"
8664
+ }
8665
+ },
8666
+ _focus: {
8667
+ boxShadow: "none",
8668
+ outlineColor: "dark.ui.focus"
8669
+ },
8670
+ _invalid: {
8671
+ borderColor: "dark.ui.error.primary"
8672
+ },
8673
+ _before: {
8674
+ bg: "dark.ui.focus"
8675
+ }
7913
8676
  }
7914
8677
  };
7915
8678
  // Style object for the Radio's label
@@ -7973,12 +8736,22 @@ var SearchBar = {
7973
8736
  },
7974
8737
  select: {
7975
8738
  flexShrink: "0",
7976
- marginBottom: "0",
8739
+ marginBottom: {
8740
+ base: "-1px",
8741
+ md: "0"
8742
+ },
7977
8743
  maxWidth: {
7978
8744
  base: undefined,
7979
8745
  md: "255px"
7980
8746
  },
7981
- textOverflow: "ellipsis"
8747
+ textOverflow: "ellipsis",
8748
+ marginRight: {
8749
+ base: undefined,
8750
+ md: "-1px"
8751
+ },
8752
+ _hover: {
8753
+ zIndex: "10"
8754
+ }
7982
8755
  }
7983
8756
  }
7984
8757
  };
@@ -7990,8 +8763,11 @@ var element = {
7990
8763
  };
7991
8764
  var borderRules = {
7992
8765
  border: "1px solid",
7993
- borderColor: "ui.gray.light-cool",
7994
- padding: "s"
8766
+ borderColor: "ui.gray.x-light-cool",
8767
+ padding: "s",
8768
+ _dark: {
8769
+ borderColor: "ui.gray.xx-dark"
8770
+ }
7995
8771
  };
7996
8772
  var imagePaddingBottomStyles = {
7997
8773
  landscape: "50%",
@@ -8108,8 +8884,11 @@ var fade = function fade() {
8108
8884
  var Skeleton = {
8109
8885
  baseStyle: {
8110
8886
  borderRadius: "2px",
8111
- background: "ui.gray.light-cool",
8112
- animation: /*#__PURE__*/fade() + " 1000ms cubic-bezier(0.25, -0.5, 1, 0) infinite"
8887
+ bg: "ui.gray.light-cool",
8888
+ animation: /*#__PURE__*/fade() + " 1000ms cubic-bezier(0.25, -0.5, 1, 0) infinite",
8889
+ _dark: {
8890
+ bg: "dark.ui.bg.hover"
8891
+ }
8113
8892
  }
8114
8893
  };
8115
8894
 
@@ -8131,10 +8910,13 @@ var SkipNavigation = {
8131
8910
  _focus: {
8132
8911
  height: "auto",
8133
8912
  left: "1rem",
8134
- paddingX: "inset.extranarrow",
8913
+ paddingX: "inset.narrow",
8135
8914
  paddingY: "inset.extranarrow",
8136
8915
  top: "1rem",
8137
8916
  width: "auto"
8917
+ },
8918
+ _dark: {
8919
+ backgroundColor: "dark.ui.bg.page"
8138
8920
  }
8139
8921
  }
8140
8922
  }
@@ -8150,15 +8932,17 @@ var staticValues = {
8150
8932
  var CustomSlider = {
8151
8933
  parts: ["container", "leftValue", "rightValue", "textInput", "sliderContainer", "filledTrack", "track", "thumb"],
8152
8934
  baseStyle: function baseStyle(_ref) {
8153
- var isDisabled = _ref.isDisabled,
8935
+ var isDarkMode = _ref.isDarkMode,
8936
+ isDisabled = _ref.isDisabled,
8154
8937
  isInvalid = _ref.isInvalid,
8155
8938
  showBoxes = _ref.showBoxes,
8156
8939
  showValues = _ref.showValues;
8157
- var baseColor = "ui.link.primary";
8940
+ var prefix = isDarkMode ? "dark." : "";
8941
+ var baseColor = prefix + "ui.link.primary";
8158
8942
  if (isInvalid) {
8159
- baseColor = "ui.error.primary";
8943
+ baseColor = prefix + "ui.error.primary";
8160
8944
  } else if (isDisabled) {
8161
- baseColor = "ui.disabled.primary";
8945
+ baseColor = prefix + "ui.disabled.primary";
8162
8946
  }
8163
8947
  return {
8164
8948
  container: {
@@ -8166,20 +8950,25 @@ var CustomSlider = {
8166
8950
  alignItems: "center"
8167
8951
  },
8168
8952
  leftValue: _extends({}, staticValues, {
8169
- color: isDisabled ? "ui.gray.dark" : null
8953
+ color: isDisabled ? "ui.disabled.primary" : null,
8954
+ _dark: {
8955
+ color: isDisabled ? "dark.ui.disabled.primary" : null
8956
+ }
8170
8957
  }),
8171
8958
  rightValue: _extends({}, staticValues, {
8172
8959
  marginStart: "s",
8173
8960
  // If the text input boxes are shown, then there already is
8174
8961
  // a margin, so we can set this static value to "0".
8175
8962
  marginEnd: showBoxes ? "0" : "s",
8176
- color: isDisabled ? "ui.gray.dark" : null
8963
+ color: isDisabled ? "ui.disabled.primary" : null,
8964
+ _dark: {
8965
+ color: isDisabled ? "dark.ui.disabled.primary" : null
8966
+ }
8177
8967
  }),
8178
8968
  textInput: {
8179
8969
  // Allows for three or more digits present in the
8180
8970
  // min or max value text input.
8181
- minWidth: "65px",
8182
- color: isInvalid ? "ui.error.primary" : "ui.black"
8971
+ minWidth: "65px"
8183
8972
  },
8184
8973
  // This is added to the container so that the slider thumbs don't
8185
8974
  // overflow past the container when the value boxes or min/max values
@@ -8197,10 +8986,16 @@ var CustomSlider = {
8197
8986
  bgColor: "ui.gray.light-cool",
8198
8987
  _disabled: {
8199
8988
  bgColor: "ui.disabled.primary"
8989
+ },
8990
+ _dark: {
8991
+ bgColor: "dark.ui.bg.active",
8992
+ _disabled: {
8993
+ bgColor: "dark.ui.disabled.primary"
8994
+ }
8200
8995
  }
8201
8996
  },
8202
8997
  thumb: {
8203
- border: "1px solid",
8998
+ border: "2px solid",
8204
8999
  // Thumb doesn't have an _invalid state...
8205
9000
  // so we manually do it through the props.
8206
9001
  borderColor: baseColor,
@@ -8211,6 +9006,13 @@ var CustomSlider = {
8211
9006
  _disabled: {
8212
9007
  bgColor: "ui.disabled.secondary",
8213
9008
  borderColor: "ui.disabled.primary"
9009
+ },
9010
+ _dark: {
9011
+ bgColor: "dark.ui.bg.default",
9012
+ _disabled: {
9013
+ bgColor: "dark.ui.disabled.secondary",
9014
+ borderColor: "dark.ui.disabled.primary"
9015
+ }
8214
9016
  }
8215
9017
  }
8216
9018
  };
@@ -8227,24 +9029,42 @@ var StatusBadge = {
8227
9029
  py: "inset.extranarrow",
8228
9030
  px: "inset.narrow",
8229
9031
  textAlign: "center",
8230
- width: "fit-content"
9032
+ width: "fit-content",
9033
+ _dark: {
9034
+ backgroundColor: "dark.ui.bg.active",
9035
+ borderLeft: "4px solid",
9036
+ borderColor: "ui.gray.medium",
9037
+ color: "dark.ui.typography.heading"
9038
+ }
8231
9039
  },
8232
9040
  variants: {
8233
9041
  low: {
8234
9042
  bg: "ui.gray.light-cool"
8235
9043
  },
8236
9044
  medium: {
8237
- bg: "ui.status.primary"
9045
+ bg: "ui.status.primary",
9046
+ _dark: {
9047
+ borderColor: "ui.status.primary"
9048
+ }
8238
9049
  },
8239
9050
  high: {
8240
- bg: "ui.status.secondary"
9051
+ bg: "ui.status.secondary",
9052
+ _dark: {
9053
+ borderColor: "dark.ui.error.primary"
9054
+ }
8241
9055
  }
8242
9056
  }
8243
9057
  };
8244
9058
 
8245
- var cellBorderColorStyles = {
8246
- base: "ui.gray.light-cool",
8247
- md: "ui.gray.medium"
9059
+ var CellBorderColorStyles = function CellBorderColorStyles() {
9060
+ var colorValues = useColorModeValue({
9061
+ base: "ui.gray.light-cool",
9062
+ md: "ui.border.default"
9063
+ }, {
9064
+ base: "ui.gray.xx-dark",
9065
+ md: "dark.ui.border.default"
9066
+ });
9067
+ return colorValues;
8248
9068
  };
8249
9069
  var baseTRStyles = function baseTRStyles(columnHeadersBackgroundColor, showRowDividers, useRowHeaders) {
8250
9070
  if (columnHeadersBackgroundColor === void 0) {
@@ -8280,6 +9100,9 @@ var baseTRStyles = function baseTRStyles(columnHeadersBackgroundColor, showRowDi
8280
9100
  md: "0"
8281
9101
  },
8282
9102
  borderColor: "ui.gray.medium"
9103
+ },
9104
+ _dark: {
9105
+ borderColor: "dark.ui.border.default"
8283
9106
  }
8284
9107
  };
8285
9108
  };
@@ -8299,7 +9122,7 @@ var baseCellStyles = function baseCellStyles(columnHeadersBackgroundColor, colum
8299
9122
  return {
8300
9123
  border: showRowDividers ? undefined : "none",
8301
9124
  borderBottom: showRowDividers ? "1px solid" : "0",
8302
- borderColor: cellBorderColorStyles,
9125
+ borderColor: CellBorderColorStyles(),
8303
9126
  display: {
8304
9127
  base: "flex",
8305
9128
  md: "table-cell"
@@ -8340,7 +9163,7 @@ var baseCellStyles = function baseCellStyles(columnHeadersBackgroundColor, colum
8340
9163
  md: "m"
8341
9164
  } : null,
8342
9165
  borderBottom: showRowDividers ? "1px solid" : "none",
8343
- borderColor: cellBorderColorStyles
9166
+ borderColor: CellBorderColorStyles()
8344
9167
  },
8345
9168
  "> span": {
8346
9169
  flexBasis: "50%",
@@ -8357,7 +9180,10 @@ var baseCellStyles = function baseCellStyles(columnHeadersBackgroundColor, colum
8357
9180
  bg: columnHeadersBackgroundColor ? columnHeadersBackgroundColor : undefined,
8358
9181
  color: columnHeadersTextColor ? columnHeadersTextColor : "ui.black",
8359
9182
  fontWeight: "medium",
8360
- paddingStart: columnHeadersBackgroundColor || showRowDividers || useRowHeaders ? "s" : undefined
9183
+ paddingStart: columnHeadersBackgroundColor || showRowDividers || useRowHeaders ? "s" : undefined,
9184
+ _dark: {
9185
+ color: columnHeadersTextColor ? columnHeadersTextColor : "dark.ui.typography.heading"
9186
+ }
8361
9187
  }
8362
9188
  }
8363
9189
  };
@@ -8387,6 +9213,9 @@ var baseTHStyles = function baseTHStyles(columnHeadersBackgroundColor, columnHea
8387
9213
  base: "0",
8388
9214
  md: undefined
8389
9215
  }
9216
+ },
9217
+ _dark: {
9218
+ color: columnHeadersTextColor ? columnHeadersTextColor : "dark.ui.typography.heading"
8390
9219
  }
8391
9220
  });
8392
9221
  };
@@ -8424,7 +9253,7 @@ var baseTDStyles = function baseTDStyles(columnHeadersBackgroundColor, columnHea
8424
9253
  base: 0,
8425
9254
  md: undefined
8426
9255
  },
8427
- borderColor: cellBorderColorStyles
9256
+ borderColor: CellBorderColorStyles()
8428
9257
  }
8429
9258
  });
8430
9259
  };
@@ -8437,15 +9266,23 @@ var baseStyle$2 = function baseStyle(_ref) {
8437
9266
  // Headers `th` can be rendered as the first cell in every row through the
8438
9267
  // `useRowHeaders`. Whereas the header `th` in the `thead` can be rendered
8439
9268
  // with a custom color, the row header `th` in the `tbody` should always
8440
- // have text color black.
9269
+ // have text color black for light color mode and `dark.ui.typography.heading`
9270
+ // for dark color mode.
8441
9271
  tbody: {
8442
9272
  th: {
8443
- color: "ui.black",
8444
9273
  backgroundColor: useRowHeaders ? {
8445
9274
  base: "ui.gray.x-light-cool",
8446
9275
  md: "unset"
8447
9276
  } : undefined,
8448
- verticalAlign: "top"
9277
+ color: "ui.black",
9278
+ verticalAlign: "top",
9279
+ _dark: {
9280
+ backgroundColor: useRowHeaders ? {
9281
+ base: "dark.ui.bg.default",
9282
+ md: "unset"
9283
+ } : undefined,
9284
+ color: "dark.ui.typography.heading"
9285
+ }
8449
9286
  },
8450
9287
  td: {
8451
9288
  verticalAlign: "top"
@@ -8470,7 +9307,10 @@ var baseStyle$2 = function baseStyle(_ref) {
8470
9307
  marginEnd: "0",
8471
9308
  marginTop: "0",
8472
9309
  padding: "0",
8473
- textAlign: "left"
9310
+ textAlign: "left",
9311
+ _dark: {
9312
+ color: "dark.ui.typography.heading"
9313
+ }
8474
9314
  }
8475
9315
  };
8476
9316
  };
@@ -8577,6 +9417,11 @@ var StyledList = {
8577
9417
  borderColor: "ui.border.default",
8578
9418
  my: "xs",
8579
9419
  px: "xs"
9420
+ },
9421
+ _dark: {
9422
+ li: {
9423
+ borderColor: "dark.ui.border.default"
9424
+ }
8580
9425
  }
8581
9426
  }
8582
9427
  }
@@ -8586,7 +9431,6 @@ var tablist = {
8586
9431
  borderColor: "ui.black"
8587
9432
  };
8588
9433
  var tab = {
8589
- color: "black !important",
8590
9434
  paddingInlineStart: "s",
8591
9435
  paddingStart: "s",
8592
9436
  background: "transparent",
@@ -8623,10 +9467,27 @@ var tab = {
8623
9467
  },
8624
9468
  _focus: {
8625
9469
  boxShadow: "0"
9470
+ },
9471
+ _dark: {
9472
+ color: "dark.ui.typography.heading",
9473
+ border: "1px solid transparent",
9474
+ borderBottom: "1px solid",
9475
+ borderBottomColor: "dark.ui.border.hover",
9476
+ _hover: {
9477
+ bg: "dark.ui.bg.hover"
9478
+ },
9479
+ _selected: {
9480
+ color: "dark.ui.typography.heading",
9481
+ border: "0",
9482
+ bg: "dark.ui.bg.active",
9483
+ borderBottom: "3px solid"
9484
+ }
8626
9485
  }
8627
9486
  };
8628
9487
  // Only display the previous/next arrow buttons on mobile.
8629
9488
  var buttonArrows = {
9489
+ bg: "transparent",
9490
+ color: "black",
8630
9491
  border: "0",
8631
9492
  borderRadius: "0",
8632
9493
  display: {
@@ -8641,7 +9502,21 @@ var buttonArrows = {
8641
9502
  // Code from https://codesandbox.io/s/fxjeo for the mobile carousel
8642
9503
  pos: "absolute",
8643
9504
  transition: "0.6s ease",
8644
- zIndex: "9999"
9505
+ zIndex: "9999",
9506
+ _hover: {
9507
+ bg: "unset",
9508
+ color: "unset",
9509
+ borderColor: "unset"
9510
+ },
9511
+ _disabled: {
9512
+ color: "ui.disabled.primary"
9513
+ },
9514
+ _dark: {
9515
+ color: "dark.ui.typography.heading",
9516
+ _disabled: {
9517
+ color: "dark.ui.disabled.primary"
9518
+ }
9519
+ }
8645
9520
  };
8646
9521
  var tablistWrapper = {
8647
9522
  display: "flex",
@@ -8675,7 +9550,10 @@ var tablistWrapper = {
8675
9550
  base: "4px",
8676
9551
  md: "0"
8677
9552
  },
8678
- position: "relative"
9553
+ position: "relative",
9554
+ _dark: {
9555
+ borderColor: "dark.ui.border.hover"
9556
+ }
8679
9557
  };
8680
9558
  var tabpanels = {
8681
9559
  paddingTop: "2px"
@@ -8729,6 +9607,9 @@ var CustomTabs = {
8729
9607
  tablistWrapper: tablistWrapper,
8730
9608
  tabpanels: tabpanels,
8731
9609
  carouselParent: carouselParent
9610
+ },
9611
+ defaultProps: {
9612
+ colorScheme: "ui.black"
8732
9613
  }
8733
9614
  };
8734
9615
 
@@ -8740,9 +9621,9 @@ var TagSetFilter = {
8740
9621
  display: "flex",
8741
9622
  alignItems: "center",
8742
9623
  justifyContent: "center",
8743
- bg: "ui.gray.x-light-cool",
9624
+ bg: "ui.bg.default",
8744
9625
  border: "1px solid",
8745
- borderColor: "ui.gray.medium",
9626
+ borderColor: "ui.border.default",
8746
9627
  borderRadius: "pill",
8747
9628
  color: "ui.black",
8748
9629
  cursor: isDismissible ? "pointer" : "auto",
@@ -8766,7 +9647,17 @@ var TagSetFilter = {
8766
9647
  whiteSpace: "nowrap"
8767
9648
  },
8768
9649
  _hover: {
8769
- bg: isDismissible ? "ui.gray.light-cool" : "ui.gray.x-light-cool"
9650
+ bg: isDismissible ? "ui.bg.hover" : "ui.bg.default",
9651
+ borderColor: isDismissible ? "ui.border.hover" : "ui.border.default"
9652
+ },
9653
+ _dark: {
9654
+ bg: "dark.ui.bg.default",
9655
+ borderColor: "dark.ui.border.default",
9656
+ color: "dark.ui.typography.body",
9657
+ _hover: {
9658
+ bg: isDismissible ? "dark.ui.bg.hover" : "dark.ui.bg.default",
9659
+ borderColor: isDismissible ? "dark.ui.border.hover" : "dark.ui.border.default"
9660
+ }
8770
9661
  },
8771
9662
  clearAll: {
8772
9663
  color: "ui.black",
@@ -8775,7 +9666,10 @@ var TagSetFilter = {
8775
9666
  md: "22px"
8776
9667
  },
8777
9668
  fontSize: "text.tag",
8778
- minHeight: "22px"
9669
+ minHeight: "22px",
9670
+ _dark: {
9671
+ color: "dark.ui.typography.heading"
9672
+ }
8779
9673
  }
8780
9674
  };
8781
9675
  }
@@ -8829,6 +9723,29 @@ var TagSetExplore = {
8829
9723
  "> span": {
8830
9724
  color: "ui.white"
8831
9725
  }
9726
+ },
9727
+ _dark: {
9728
+ bg: "dark.ui.bg.default",
9729
+ borderColor: "dark.ui.link.primary",
9730
+ color: "dark.ui.link.primary",
9731
+ a: {
9732
+ color: "dark.ui.link.primary"
9733
+ },
9734
+ svg: {
9735
+ fill: "dark.ui.link.primary"
9736
+ },
9737
+ _hover: {
9738
+ bg: "dark.ui.link.primary",
9739
+ a: {
9740
+ color: "ui.gray.xxx-dark"
9741
+ },
9742
+ svg: {
9743
+ fill: "ui.gray.xxx-dark"
9744
+ },
9745
+ "> span": {
9746
+ color: "ui.gray.xxx-dark"
9747
+ }
9748
+ }
8832
9749
  }
8833
9750
  }
8834
9751
  };
@@ -8856,7 +9773,10 @@ var Template = {
8856
9773
  color: "ui.black",
8857
9774
  display: "grid",
8858
9775
  gridTemplateColumns: "\n 1fr\n min(1280px, 100%)\n 1fr",
8859
- rowGap: "grid.l"
9776
+ rowGap: "grid.l",
9777
+ _dark: {
9778
+ color: "dark.ui.typography.body"
9779
+ }
8860
9780
  },
8861
9781
  sizes: {},
8862
9782
  defaultProps: {}
@@ -9008,7 +9928,32 @@ var input = {
9008
9928
  _invalid: {
9009
9929
  border: "1px solid",
9010
9930
  borderColor: "ui.error.primary",
9011
- boxShadow: "none"
9931
+ boxShadow: "none",
9932
+ color: "ui.error.primary",
9933
+ _focus: {
9934
+ borderColor: "ui.focus"
9935
+ }
9936
+ },
9937
+ _dark: {
9938
+ bgColor: "dark.ui.bg.default",
9939
+ borderColor: "dark.ui.border.default",
9940
+ _hover: {
9941
+ borderColor: "dark.ui.border.hover"
9942
+ },
9943
+ _disabled: /*#__PURE__*/_extends({}, selectTextInputDisabledStyles, {
9944
+ _placeholder: {
9945
+ color: "ui.gray.x-dark"
9946
+ }
9947
+ }),
9948
+ _active: selectTextInputFocusStyles,
9949
+ _focus: selectTextInputFocusStyles,
9950
+ _placeholder: {
9951
+ color: "ui.gray.dark"
9952
+ },
9953
+ _invalid: {
9954
+ borderColor: "dark.ui.error.primary",
9955
+ color: "dark.ui.error.primary"
9956
+ }
9012
9957
  }
9013
9958
  };
9014
9959
  var TextInput$1 = {
@@ -9085,7 +10030,6 @@ var Switch = {
9085
10030
  var size = _ref2.size;
9086
10031
  return {
9087
10032
  alignItems: "start",
9088
- opacity: 0.4,
9089
10033
  track: {
9090
10034
  backgroundColor: "ui.gray.medium",
9091
10035
  border: "1px solid",
@@ -9115,6 +10059,33 @@ var Switch = {
9115
10059
  outlineColor: "ui.focus",
9116
10060
  outlineOffset: "2px",
9117
10061
  zIndex: "9999"
10062
+ },
10063
+ _dark: {
10064
+ bgColor: "ui.gray.dark",
10065
+ borderColor: "ui.gray.dark",
10066
+ _checked: {
10067
+ bg: "dark.ui.link.primary",
10068
+ borderColor: "dark.ui.link.primary"
10069
+ },
10070
+ _invalid: {
10071
+ bg: "inherit",
10072
+ borderColor: "dark.ui.error.primary",
10073
+ "> span": {
10074
+ bg: "dark.ui.error.primary"
10075
+ }
10076
+ },
10077
+ _disabled: {
10078
+ bg: "dark.ui.disabled.secondary",
10079
+ borderColor: "dark.ui.disabled.secondary",
10080
+ opacity: 1,
10081
+ // These are styles for the thumb. _isDisabled was not working within the `thumb` part.
10082
+ ".chakra-switch__thumb": {
10083
+ bgColor: "dark.ui.disabled.primary"
10084
+ }
10085
+ },
10086
+ _focus: {
10087
+ outlineColor: "dark.ui.focus"
10088
+ }
9118
10089
  }
9119
10090
  },
9120
10091
  label: {
@@ -9124,11 +10095,22 @@ var Switch = {
9124
10095
  _disabled: {
9125
10096
  color: "ui.gray.dark",
9126
10097
  fontStyle: "italic"
10098
+ },
10099
+ _invalid: {
10100
+ color: "ui.error.primary"
10101
+ },
10102
+ _dark: {
10103
+ _disabled: {
10104
+ color: "dark.ui.disabled.primary"
10105
+ },
10106
+ _invalid: {
10107
+ color: "dark.ui.error.primary"
10108
+ }
9127
10109
  }
9128
10110
  },
9129
10111
  thumb: {
9130
- _disabled: {
9131
- bg: "ui.error.primary"
10112
+ _dark: {
10113
+ bgColor: "dark.ui.bg.default"
9132
10114
  }
9133
10115
  }
9134
10116
  };
@@ -9158,10 +10140,10 @@ var Toggle$1 = {
9158
10140
  Switch: Switch
9159
10141
  };
9160
10142
 
9161
- var _baseStyle;
10143
+ var _dark, _baseStyle;
9162
10144
  var $bg = /*#__PURE__*/cssVar("tooltip-bg");
9163
10145
  var Tooltip$1 = {
9164
- 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)
10146
+ 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)
9165
10147
  };
9166
10148
 
9167
10149
  var fourByThree = {
@@ -9176,8 +10158,15 @@ var square = {
9176
10158
  };
9177
10159
  var invalid = {
9178
10160
  backgroundColor: "ui.gray.light-cool",
10161
+ border: "1px solid",
10162
+ borderColor: "ui.border.default",
9179
10163
  height: "auto",
9180
- padding: "s"
10164
+ padding: "s",
10165
+ _dark: {
10166
+ bg: "dark.ui.bg.default",
10167
+ border: "1px solid",
10168
+ borderColor: "dark.ui.border.default"
10169
+ }
9181
10170
  };
9182
10171
  var VideoPlayer = {
9183
10172
  baseStyle: {
@@ -9278,6 +10267,7 @@ var theme = /*#__PURE__*/extendTheme( /*#__PURE__*/_extends({
9278
10267
  Link: Link$1,
9279
10268
  List: List,
9280
10269
  Logo: Logo,
10270
+ Modal: Modal,
9281
10271
  MultiSelect: MultiSelect,
9282
10272
  MultiSelectMenuButton: MultiSelectMenuButton
9283
10273
  }, NotificationStyles, {
@@ -9326,7 +10316,7 @@ var DSProvider = function DSProvider(_ref) {
9326
10316
  };
9327
10317
 
9328
10318
  var _excluded$1c = ["children", "icon", "id", "isCentered", "notificationType"],
9329
- _excluded2$5 = ["alignText", "children", "icon", "notificationType"],
10319
+ _excluded2$5 = ["alignText", "children", "isCentered", "notificationHeading", "notificationType", "showIcon"],
9330
10320
  _excluded3$3 = ["ariaLabel", "className", "dismissible", "icon", "id", "isCentered", "noMargin", "notificationContent", "notificationHeading", "notificationType", "showIcon"];
9331
10321
  /**
9332
10322
  * NotificationHeading child-component.
@@ -9346,9 +10336,10 @@ var NotificationHeading$1 = /*#__PURE__*/chakra(function (props) {
9346
10336
  return React__default.createElement(Box, Object.assign({
9347
10337
  as: "header",
9348
10338
  __css: styles
9349
- }, rest), icon, React__default.createElement(Heading, {
10339
+ }, rest), icon, children && React__default.createElement(Heading, {
9350
10340
  id: id + "-heading",
9351
10341
  level: "four",
10342
+ noSpace: true,
9352
10343
  __css: styles.heading
9353
10344
  }, children));
9354
10345
  });
@@ -9358,17 +10349,21 @@ var NotificationHeading$1 = /*#__PURE__*/chakra(function (props) {
9358
10349
  var NotificationContent$1 = /*#__PURE__*/chakra(function (props) {
9359
10350
  var alignText = props.alignText,
9360
10351
  children = props.children,
9361
- icon = props.icon,
10352
+ isCentered = props.isCentered,
10353
+ notificationHeading = props.notificationHeading,
9362
10354
  notificationType = props.notificationType,
10355
+ showIcon = props.showIcon,
9363
10356
  rest = _objectWithoutPropertiesLoose(props, _excluded2$5);
9364
10357
  var styles = useMultiStyleConfig("NotificationContent", {
9365
10358
  alignText: alignText,
9366
- icon: icon,
9367
- notificationType: notificationType
10359
+ isCentered: isCentered,
10360
+ notificationHeading: notificationHeading,
10361
+ notificationType: notificationType,
10362
+ showIcon: showIcon
9368
10363
  });
9369
10364
  return React__default.createElement(Box, Object.assign({
9370
10365
  __css: styles
9371
- }, rest), icon, React__default.createElement(Box, {
10366
+ }, rest), children && React__default.createElement(Box, {
9372
10367
  __css: styles.content
9373
10368
  }, children));
9374
10369
  });
@@ -9397,14 +10392,17 @@ var Notification$1 = /*#__PURE__*/chakra( /*#__PURE__*/forwardRef(function (prop
9397
10392
  var _useState = useState(true),
9398
10393
  isOpen = _useState[0],
9399
10394
  setIsOpen = _useState[1];
10395
+ var _useColorMode = useColorMode(),
10396
+ colorMode = _useColorMode.colorMode;
9400
10397
  var handleClose = function handleClose() {
9401
10398
  return setIsOpen(false);
9402
10399
  };
9403
10400
  var styles = useMultiStyleConfig("Notification", {
9404
- dismissible: dismissible,
9405
10401
  isCentered: isCentered,
9406
10402
  noMargin: noMargin,
9407
- notificationType: notificationType
10403
+ notificationHeading: notificationHeading,
10404
+ notificationType: notificationType,
10405
+ showIcon: showIcon
9408
10406
  });
9409
10407
  var iconElement = function iconElement() {
9410
10408
  var baseIconProps = {
@@ -9421,25 +10419,29 @@ var Notification$1 = /*#__PURE__*/chakra( /*#__PURE__*/forwardRef(function (prop
9421
10419
  }, baseIconProps));
9422
10420
  var iconProps = {
9423
10421
  announcement: {
9424
- color: "section.research.secondary",
10422
+ color: colorMode === "dark" ? "dark.ui.success.primary" : "section.research.secondary",
9425
10423
  name: "speakerNotes",
9426
10424
  title: "Notification announcement icon"
9427
10425
  },
9428
10426
  standard: {
9429
- color: "ui.black",
10427
+ color: colorMode === "dark" ? "ui.status.primary" : "ui.black",
9430
10428
  name: "alertNotificationImportant",
9431
10429
  title: "Notification standard icon"
9432
10430
  },
9433
10431
  warning: {
9434
- color: "brand.primary",
10432
+ color: colorMode === "dark" ? "dark.ui.error.primary" : "brand.primary",
9435
10433
  name: "errorFilled",
9436
10434
  title: "Notification warning icon"
9437
10435
  }
9438
10436
  };
9439
10437
  return React__default.createElement(Icon, Object.assign({
10438
+ className: "notification-icon",
9440
10439
  id: id + "-notification-icon"
9441
10440
  }, iconProps[notificationType], baseIconProps));
9442
10441
  };
10442
+ /** Setting the icon color in the styles is not working, so we need to
10443
+ * explicitly override the icon color directly on the component. */
10444
+ var dismissibleButtonIconColor = useColorModeValue("ui.black", "dark.ui.typography.heading");
9443
10445
  var dismissibleButton = dismissible && React__default.createElement(Button, {
9444
10446
  "aria-label": "Close the notification",
9445
10447
  buttonType: "text",
@@ -9447,13 +10449,14 @@ var Notification$1 = /*#__PURE__*/chakra( /*#__PURE__*/forwardRef(function (prop
9447
10449
  onClick: handleClose,
9448
10450
  __css: styles.dismissibleButton
9449
10451
  }, React__default.createElement(Icon, {
10452
+ fill: dismissibleButtonIconColor,
9450
10453
  id: id + "-dismissible-notification-icon",
9451
10454
  name: "close",
9452
10455
  size: "large",
9453
10456
  title: "Notification close icon"
9454
10457
  }));
9455
10458
  var iconElem = iconElement();
9456
- var childHeading = notificationHeading && React__default.createElement(NotificationHeading$1, {
10459
+ var childHeading = (notificationHeading || showIcon) && React__default.createElement(NotificationHeading$1, {
9457
10460
  icon: iconElem,
9458
10461
  id: id,
9459
10462
  isCentered: isCentered,
@@ -9463,8 +10466,10 @@ var Notification$1 = /*#__PURE__*/chakra( /*#__PURE__*/forwardRef(function (prop
9463
10466
  var alignText = !!(childHeading && showIcon && (!!icon || !isCentered));
9464
10467
  var childContent = React__default.createElement(NotificationContent$1, {
9465
10468
  alignText: alignText,
9466
- icon: !childHeading ? iconElem : undefined,
9467
- notificationType: notificationType
10469
+ isCentered: isCentered,
10470
+ notificationHeading: notificationHeading,
10471
+ notificationType: notificationType,
10472
+ showIcon: showIcon
9468
10473
  }, notificationContent);
9469
10474
  // If the `Notification` is closed, don't render anything.
9470
10475
  if (!isOpen) {
@@ -9797,6 +10802,7 @@ var FeedbackBox$1 = /*#__PURE__*/chakra( /*#__PURE__*/forwardRef(function (_ref,
9797
10802
  var maxCommentCharacters = 500;
9798
10803
  var initMinHeight = 165;
9799
10804
  var initTemplateRows = "auto 1fr";
10805
+ var iconColor = useColorModeValue(null, "dark.ui.typography.body");
9800
10806
  var minHeightWithCategory = 235;
9801
10807
  var minHeightWithEmail = 275;
9802
10808
  var minHeightWithCategoryAndEmail = 345;
@@ -9822,6 +10828,7 @@ var FeedbackBox$1 = /*#__PURE__*/chakra( /*#__PURE__*/forwardRef(function (_ref,
9822
10828
  noMargin: true,
9823
10829
  notificationContent: notificationText,
9824
10830
  showIcon: false,
10831
+ p: "0",
9825
10832
  sx: {
9826
10833
  // The padding of the Notification is smaller than
9827
10834
  // the initial one.
@@ -10034,6 +11041,7 @@ var FeedbackBox$1 = /*#__PURE__*/chakra( /*#__PURE__*/forwardRef(function (_ref,
10034
11041
  textAlign: "center",
10035
11042
  ref: focusRef
10036
11043
  }, React__default.createElement(Icon, {
11044
+ color: iconColor,
10037
11045
  name: "actionCheckCircleFilled",
10038
11046
  size: "large"
10039
11047
  }), React__default.createElement(Text, {
@@ -10770,7 +11778,7 @@ var FilterBar$1 = /*#__PURE__*/chakra( /*#__PURE__*/forwardRef(function (props,
10770
11778
  onClick: function onClick() {
10771
11779
  onToggle === undefined ? onOpen() : onToggle();
10772
11780
  }
10773
- }, "Show Filter " + getSelectedItemsCount()), React__default.createElement(Modal, {
11781
+ }, "Show Filter " + getSelectedItemsCount()), React__default.createElement(Modal$1, {
10774
11782
  isOpen: isOpen,
10775
11783
  onClose: function onClose() {
10776
11784
  onToggle === undefined ? _onClose() : onToggle();
@@ -10781,7 +11789,9 @@ var FilterBar$1 = /*#__PURE__*/chakra( /*#__PURE__*/forwardRef(function (props,
10781
11789
  sx: styles.modalHeader
10782
11790
  }, "Filter Criteria"), React__default.createElement(ModalCloseButton, {
10783
11791
  sx: styles.modalCloseButton
10784
- }), React__default.createElement(ModalBody, null, newChildren), React__default.createElement(ModalFooter, {
11792
+ }), React__default.createElement(ModalBody, {
11793
+ sx: styles.modalBody
11794
+ }, newChildren), React__default.createElement(ModalFooter, {
10785
11795
  sx: styles.modalFooter
10786
11796
  }, React__default.createElement(ButtonGroup, {
10787
11797
  layout: "row",
@@ -13925,8 +14935,8 @@ var HeaderSearchForm$1 = /*#__PURE__*/chakra(function (_ref) {
13925
14935
  });
13926
14936
 
13927
14937
  /**
13928
- * This is the button that will render the search form when it is clicked
13929
- * and keep focus trapped within the menu.
14938
+ * This is the button that will render the search form when it is clicked and
14939
+ * keep focus trapped within the menu.
13930
14940
  */
13931
14941
  var HeaderSearchButton$1 = /*#__PURE__*/chakra(function (_ref) {
13932
14942
  var _ref$isMobile = _ref.isMobile,
@@ -14439,7 +15449,7 @@ var Header$1 = /*#__PURE__*/chakra(function (_ref) {
14439
15449
  __css: styles.logo
14440
15450
  }, React__default.createElement(Logo$1, {
14441
15451
  "aria-label": "NYPL Header Logo",
14442
- name: isLargerThanLarge ? "nyplFullBlack" : "nyplLionBlack",
15452
+ name: isLargerThanLarge ? useColorModeValue("nyplFullBlack", "nyplFullWhite") : useColorModeValue("nyplLionBlack", "nyplLionWhite"),
14443
15453
  size: isLargerThanMobile ? "large" : "small",
14444
15454
  title: "NYPL Header Logo"
14445
15455
  })), React__default.createElement(Spacer, null), isLargerThanMobile ? React__default.createElement(VStack, {
@@ -14573,7 +15583,7 @@ var BaseModal = /*#__PURE__*/chakra(function (_ref) {
14573
15583
  isLargerThanMobile = _useNYPLBreakpoints.isLargerThanMobile;
14574
15584
  // For larger screens, set the size to xl, otherwise set it to full.
14575
15585
  var size = isLargerThanMobile ? xlarge : fullSize;
14576
- return React__default.createElement(Modal, Object.assign({
15586
+ return React__default.createElement(Modal$1, Object.assign({
14577
15587
  id: id,
14578
15588
  isOpen: isOpen,
14579
15589
  onClose: onClose,
@@ -14725,7 +15735,10 @@ var Pagination$1 = /*#__PURE__*/chakra( /*#__PURE__*/forwardRef(function (props,
14725
15735
  // The current page link has different styles.
14726
15736
  var currentStyles = isSelectedPage ? {
14727
15737
  color: "ui.black",
14728
- pointerEvent: "none"
15738
+ pointerEvent: "none",
15739
+ _dark: {
15740
+ color: "dark.ui.typography.body"
15741
+ }
14729
15742
  } : {};
14730
15743
  var allAttrs = {
14731
15744
  items: {
@@ -14990,6 +16003,8 @@ var Select$1 = /*#__PURE__*/chakra( /*#__PURE__*/forwardRef(function (props, ref
14990
16003
  // The number of pixels between the label and select elements
14991
16004
  // when the labelPosition is inline (equivalent to --nypl-space-xs).
14992
16005
  var labelSelectGap = 8;
16006
+ // Set the color of the dropdown arrow based on the color mode.
16007
+ var arrowColor = useColorModeValue(isInvalid ? "ui.error.primary" : "ui.black", isInvalid ? "dark.ui.error.primary" : "dark.ui.typography.body");
14993
16008
  if (!id) {
14994
16009
  console.warn("NYPL Reservoir Select: This component's required `id` prop was not passed.");
14995
16010
  }
@@ -15037,6 +16052,7 @@ var Select$1 = /*#__PURE__*/chakra( /*#__PURE__*/forwardRef(function (props, ref
15037
16052
  ref: ref
15038
16053
  }, controlledProps, ariaAttributes, {
15039
16054
  icon: React__default.createElement(Icon, {
16055
+ color: arrowColor,
15040
16056
  id: id + "-icon",
15041
16057
  name: "arrow",
15042
16058
  size: "medium"
@@ -15307,6 +16323,7 @@ var Slider = /*#__PURE__*/chakra( /*#__PURE__*/forwardRef(function (props, ref)
15307
16323
  var _useStateWithDependen = useStateWithDependencies(value),
15308
16324
  currentValue = _useStateWithDependen[0],
15309
16325
  setCurrentValue = _useStateWithDependen[1];
16326
+ var isDarkMode = useColorMode().colorMode === "dark";
15310
16327
  var finalIsInvalid = isInvalid;
15311
16328
  // In the Range Slider, if the first value is bigger than the second value,
15312
16329
  // then set the invalid state.
@@ -15319,6 +16336,7 @@ var Slider = /*#__PURE__*/chakra( /*#__PURE__*/forwardRef(function (props, ref)
15319
16336
  console.warn("NYPL Reservoir Slider: The `min` prop is greater than the `max` prop.");
15320
16337
  }
15321
16338
  var styles = useMultiStyleConfig("CustomSlider", {
16339
+ isDarkMode: isDarkMode,
15322
16340
  isDisabled: isDisabled,
15323
16341
  isInvalid: finalIsInvalid,
15324
16342
  showBoxes: showBoxes,
@@ -15930,6 +16948,9 @@ var TagSetFilter$1 = /*#__PURE__*/chakra(function (props) {
15930
16948
  var finalOnClick = function finalOnClick(tagLabel) {
15931
16949
  onClick && onClick(tagLabel);
15932
16950
  };
16951
+ // Set element colors based on color mode
16952
+ var dismissButtonColor = useColorModeValue("ui.gray.x-dark", "dark.ui.typography.body");
16953
+ var iconColor = useColorModeValue("ui.black", "dark.ui.typography.body");
15933
16954
  // This expects that the consuming app passes in a new set of data
15934
16955
  // whenever the current list of tags needs to be updated.
15935
16956
  useEffect(function () {
@@ -15955,6 +16976,7 @@ var TagSetFilter$1 = /*#__PURE__*/chakra(function (props) {
15955
16976
  sx: styles
15956
16977
  }, !isDismissible && tagSet.iconName ? React__default.createElement(Icon, {
15957
16978
  align: "left",
16979
+ color: iconColor,
15958
16980
  "data-testid": "ts-icon",
15959
16981
  name: tagSet.iconName,
15960
16982
  size: "small"
@@ -15963,7 +16985,7 @@ var TagSetFilter$1 = /*#__PURE__*/chakra(function (props) {
15963
16985
  align: "right",
15964
16986
  name: "close",
15965
16987
  size: "small",
15966
- color: "ui.gray.x-dark",
16988
+ color: dismissButtonColor,
15967
16989
  width: "12px"
15968
16990
  }) : null));
15969
16991
  }), filters.length > 1 && isDismissible ? React__default.createElement(Button, {