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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +1 -1
  3. package/dist/components/Header/components/HeaderSearchButton.d.ts +2 -2
  4. package/dist/components/Notification/Notification.d.ts +8 -7
  5. package/dist/components/ProgressIndicator/ProgressIndicator.d.ts +1 -1
  6. package/dist/design-system-react-components.cjs.development.js +1185 -203
  7. package/dist/design-system-react-components.cjs.development.js.map +1 -1
  8. package/dist/design-system-react-components.cjs.production.min.js +1 -1
  9. package/dist/design-system-react-components.cjs.production.min.js.map +1 -1
  10. package/dist/design-system-react-components.esm.js +1188 -206
  11. package/dist/design-system-react-components.esm.js.map +1 -1
  12. package/dist/styles.css +1 -1
  13. package/dist/theme/components/accordion.d.ts +14 -0
  14. package/dist/theme/components/audioPlayer.d.ts +7 -0
  15. package/dist/theme/components/breadcrumb.d.ts +28 -0
  16. package/dist/theme/components/button.d.ts +12 -0
  17. package/dist/theme/components/card.d.ts +40 -0
  18. package/dist/theme/components/checkbox.d.ts +67 -0
  19. package/dist/theme/components/customTable.d.ts +103 -2
  20. package/dist/theme/components/feedbackBox.d.ts +22 -0
  21. package/dist/theme/components/fieldset.d.ts +3 -0
  22. package/dist/theme/components/filterBar.d.ts +16 -0
  23. package/dist/theme/components/footer.d.ts +18 -0
  24. package/dist/theme/components/global.d.ts +46 -0
  25. package/dist/theme/components/header/header.d.ts +7 -0
  26. package/dist/theme/components/header/headerLogin.d.ts +18 -0
  27. package/dist/theme/components/header/headerLoginButton.d.ts +15 -0
  28. package/dist/theme/components/header/headerLowerNav.d.ts +32 -0
  29. package/dist/theme/components/header/headerMobileIconNav.d.ts +5 -0
  30. package/dist/theme/components/header/headerMobileNavButton.d.ts +6 -0
  31. package/dist/theme/components/header/headerSearchButton.d.ts +26 -0
  32. package/dist/theme/components/header/headerSearchForm.d.ts +9 -0
  33. package/dist/theme/components/header/headerSitewideAlerts.d.ts +12 -0
  34. package/dist/theme/components/header/headerUpperNav.d.ts +12 -0
  35. package/dist/theme/components/heading.d.ts +9 -0
  36. package/dist/theme/components/helperErrorText.d.ts +3 -0
  37. package/dist/theme/components/hero.d.ts +42 -5
  38. package/dist/theme/components/horizontalRule.d.ts +3 -0
  39. package/dist/theme/components/image.d.ts +54 -0
  40. package/dist/theme/components/label.d.ts +3 -0
  41. package/dist/theme/components/link.d.ts +20 -4
  42. package/dist/theme/components/list.d.ts +46 -0
  43. package/dist/theme/components/modal.d.ts +21 -0
  44. package/dist/theme/components/multiSelectMenuButton.d.ts +23 -0
  45. package/dist/theme/components/notification.d.ts +62 -21
  46. package/dist/theme/components/progressIndicator.d.ts +16 -0
  47. package/dist/theme/components/radio.d.ts +63 -0
  48. package/dist/theme/components/searchBar.d.ts +11 -1
  49. package/dist/theme/components/select.d.ts +39 -0
  50. package/dist/theme/components/skeletonLoader.d.ts +4 -1
  51. package/dist/theme/components/slider.d.ts +21 -2
  52. package/dist/theme/components/statusBadge.d.ts +12 -0
  53. package/dist/theme/components/structuredContent.d.ts +63 -4
  54. package/dist/theme/components/styledList.d.ts +10 -0
  55. package/dist/theme/components/tabs.d.ts +37 -1
  56. package/dist/theme/components/tagSet.d.ts +39 -0
  57. package/dist/theme/components/template.d.ts +3 -0
  58. package/dist/theme/components/textInput.d.ts +194 -0
  59. package/dist/theme/components/toggle.d.ts +39 -3
  60. package/dist/theme/components/tooltip.d.ts +6 -1
  61. package/dist/theme/components/videoPlayer.d.ts +7 -0
  62. package/dist/theme/foundations/global.d.ts +10 -0
  63. package/package.json +1 -1
@@ -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,6 +4939,9 @@ 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
4947
  color: "ui.gray.x-dark"
@@ -4797,19 +4952,40 @@ var blogs = {
4797
4952
  }
4798
4953
  };
4799
4954
  var booksAndMore = {
4800
- bg: "section.books-and-more.secondary"
4955
+ bg: "section.books-and-more.secondary",
4956
+ _dark: {
4957
+ bg: "dark.section.books-and-more.secondary"
4958
+ }
4959
+ };
4960
+ var brand = {
4961
+ bg: "brand.secondary",
4962
+ _dark: {
4963
+ bg: "dark.brand.secondary"
4964
+ }
4801
4965
  };
4802
4966
  var education = {
4803
- bg: "section.education.secondary"
4967
+ bg: "section.education.secondary",
4968
+ _dark: {
4969
+ bg: "dark.section.education.secondary"
4970
+ }
4804
4971
  };
4805
4972
  var locations = {
4806
- bg: "section.locations.primary"
4973
+ bg: "section.locations.primary",
4974
+ _dark: {
4975
+ bg: "dark.section.locations.primary"
4976
+ }
4807
4977
  };
4808
4978
  var research = {
4809
- bg: "section.research.secondary"
4979
+ bg: "section.research.secondary",
4980
+ _dark: {
4981
+ bg: "dark.section.research.secondary"
4982
+ }
4810
4983
  };
4811
4984
  var whatsOn = {
4812
- bg: "section.whats-on.secondary"
4985
+ bg: "section.whats-on.secondary",
4986
+ _dark: {
4987
+ bg: "dark.section.whats-on.secondary"
4988
+ }
4813
4989
  };
4814
4990
  var Breadcrumb = {
4815
4991
  baseStyle: {
@@ -4819,6 +4995,10 @@ var Breadcrumb = {
4819
4995
  fontWeight: "breadcrumbs.default",
4820
4996
  paddingBottom: "xs",
4821
4997
  paddingTop: "xs",
4998
+ _dark: {
4999
+ bg: "dark.ui.bg.hover",
5000
+ color: "dark.ui.typography.heading"
5001
+ },
4822
5002
  ol: {
4823
5003
  alignItems: {
4824
5004
  base: "center",
@@ -4889,6 +5069,7 @@ var Breadcrumb = {
4889
5069
  variants: {
4890
5070
  blogs: blogs,
4891
5071
  booksAndMore: booksAndMore,
5072
+ brand: brand,
4892
5073
  education: education,
4893
5074
  locations: locations,
4894
5075
  research: research,
@@ -4922,6 +5103,26 @@ var buttonBaseStyle = {
4922
5103
  color: "ui.gray.dark",
4923
5104
  opacity: "1",
4924
5105
  pointerEvents: "none"
5106
+ },
5107
+ _dark: {
5108
+ _disabled: {
5109
+ bg: "dark.ui.disabled.secondary",
5110
+ color: "dark.ui.disabled.primary"
5111
+ }
5112
+ }
5113
+ };
5114
+ var ghostDarkStyles = {
5115
+ bg: "transparent",
5116
+ borderColor: "dark.ui.link.primary",
5117
+ color: "dark.ui.link.primary",
5118
+ _hover: {
5119
+ bg: "dark.ui.link.primary-10",
5120
+ borderColor: "dark.ui.link.secondary",
5121
+ color: "dark.ui.link.secondary"
5122
+ },
5123
+ _disabled: {
5124
+ bg: "dark.ui.bg.default",
5125
+ borderColor: "dark.ui.disabled.primary"
4925
5126
  }
4926
5127
  };
4927
5128
  var generalSizeValues = function generalSizeValues(size, isPill) {
@@ -4966,7 +5167,16 @@ var primary = function primary(_ref) {
4966
5167
  buttonSize = _ref$buttonSize === void 0 ? "medium" : _ref$buttonSize;
4967
5168
  return _extends({
4968
5169
  bg: "ui.link.primary"
4969
- }, generalSizeValues(buttonSize));
5170
+ }, generalSizeValues(buttonSize), {
5171
+ _dark: {
5172
+ bg: "dark.ui.link.primary",
5173
+ color: "ui.gray.xxx-dark",
5174
+ _hover: {
5175
+ bg: "dark.ui.link.secondary",
5176
+ color: "ui.gray.xxx-dark"
5177
+ }
5178
+ }
5179
+ });
4970
5180
  };
4971
5181
  var secondary = function secondary(_ref2) {
4972
5182
  var _ref2$buttonSize = _ref2.buttonSize,
@@ -4986,7 +5196,8 @@ var secondary = function secondary(_ref2) {
4986
5196
  bg: "transparent",
4987
5197
  borderColor: "ui.disabled.primary",
4988
5198
  color: "ui.disabled.primary"
4989
- }
5199
+ },
5200
+ _dark: _extends({}, ghostDarkStyles)
4990
5201
  });
4991
5202
  };
4992
5203
  // The "link" type is deprecated but we still want to style
@@ -5005,6 +5216,15 @@ var link = function link(_ref3) {
5005
5216
  _hover: {
5006
5217
  bg: "transparent",
5007
5218
  color: "ui.link.secondary"
5219
+ },
5220
+ _dark: {
5221
+ color: "dark.ui.link.primary",
5222
+ _disabled: {
5223
+ bg: "transparent"
5224
+ },
5225
+ _hover: {
5226
+ color: "dark.ui.link.secondary"
5227
+ }
5008
5228
  }
5009
5229
  });
5010
5230
  };
@@ -5021,6 +5241,15 @@ var text = function text(_ref4) {
5021
5241
  _hover: {
5022
5242
  bg: "ui.link.primary-05",
5023
5243
  color: "ui.link.secondary"
5244
+ },
5245
+ _dark: {
5246
+ color: "dark.ui.link.primary",
5247
+ _disabled: {
5248
+ bg: "transparent"
5249
+ },
5250
+ _hover: {
5251
+ color: "dark.ui.link.secondary"
5252
+ }
5024
5253
  }
5025
5254
  });
5026
5255
  };
@@ -5030,7 +5259,7 @@ var pill = function pill(_ref5) {
5030
5259
  return _extends({
5031
5260
  bg: "ui.white",
5032
5261
  border: "1px solid",
5033
- borderColor: "ui.gray.light-cool",
5262
+ borderColor: "ui.border.default",
5034
5263
  borderRadius: "button.pill",
5035
5264
  color: "inherit"
5036
5265
  }, generalSizeValues(buttonSize, true), {
@@ -5040,6 +5269,16 @@ var pill = function pill(_ref5) {
5040
5269
  },
5041
5270
  _disabled: {
5042
5271
  bg: "ui.gray.x-light-cool"
5272
+ },
5273
+ _dark: {
5274
+ background: "transparent",
5275
+ borderColor: "dark.ui.border.default",
5276
+ color: "dark.ui.typography.heading",
5277
+ _hover: {
5278
+ background: "dark.ui.bg.hover",
5279
+ borderColor: "dark.ui.border.hover",
5280
+ color: "dark.ui.typography.heading"
5281
+ }
5043
5282
  }
5044
5283
  });
5045
5284
  };
@@ -5058,7 +5297,8 @@ var iconOnly = function iconOnly(_ref6) {
5058
5297
  bg: "ui.link.primary-05",
5059
5298
  borderColor: "ui.link.secondary",
5060
5299
  color: "ui.link.secondary"
5061
- }
5300
+ },
5301
+ _dark: _extends({}, ghostDarkStyles)
5062
5302
  });
5063
5303
  };
5064
5304
  var callout = function callout(_ref7) {
@@ -5072,6 +5312,14 @@ var callout = function callout(_ref7) {
5072
5312
  },
5073
5313
  _active: {
5074
5314
  bg: "brand.secondary"
5315
+ },
5316
+ _dark: {
5317
+ bg: "brand.primary",
5318
+ color: "ui.white",
5319
+ _hover: {
5320
+ bg: "brand.secondary",
5321
+ color: "ui.white"
5322
+ }
5075
5323
  }
5076
5324
  });
5077
5325
  };
@@ -5084,6 +5332,14 @@ var noBrand = function noBrand(_ref8) {
5084
5332
  }, generalSizeValues(buttonSize), {
5085
5333
  _hover: {
5086
5334
  bg: "ui.gray.x-dark"
5335
+ },
5336
+ _dark: {
5337
+ bg: "ui.gray.x-dark",
5338
+ color: "ui.white",
5339
+ _hover: {
5340
+ bg: "ui.gray.dark",
5341
+ color: "ui.white"
5342
+ }
5087
5343
  }
5088
5344
  });
5089
5345
  };
@@ -5201,7 +5457,10 @@ var Card$1 = {
5201
5457
  } : {};
5202
5458
  var baseBorderStyles = isBordered ? {
5203
5459
  border: "1px solid",
5204
- borderColor: "ui.gray.medium"
5460
+ borderColor: "ui.border.default",
5461
+ _dark: {
5462
+ borderColor: "dark.ui.border.default"
5463
+ }
5205
5464
  } : {};
5206
5465
  var bodyPadding = getBodyPaddingStyles({
5207
5466
  isBordered: isBordered,
@@ -5260,8 +5519,13 @@ var Card$1 = {
5260
5519
  heading: {
5261
5520
  marginBottom: "xs",
5262
5521
  a: mainActionLink ? {
5263
- color: "ui.black"
5264
- } : null
5522
+ color: "ui.typography.heading"
5523
+ } : null,
5524
+ _dark: {
5525
+ a: mainActionLink ? {
5526
+ color: "dark.ui.typography.heading"
5527
+ } : null
5528
+ }
5265
5529
  }
5266
5530
  }, baseBorderStyles, layoutStyles);
5267
5531
  }
@@ -5296,7 +5560,10 @@ var CardActions$1 = {
5296
5560
  }
5297
5561
  }, topBorderStyles, bottomBorderStyles, {
5298
5562
  justifyContent: justifyContent,
5299
- borderColor: "ui.gray.medium"
5563
+ borderColor: "ui.border.default",
5564
+ _dark: {
5565
+ borderColor: "dark.ui.border.default"
5566
+ }
5300
5567
  });
5301
5568
  }
5302
5569
  };
@@ -5405,6 +5672,49 @@ var baseStyleControl = {
5405
5672
  _invalid: {
5406
5673
  borderColor: "ui.error.primary",
5407
5674
  color: "ui.error.primary"
5675
+ },
5676
+ _dark: {
5677
+ borderColor: "dark.ui.border.default",
5678
+ backgroundColor: "dark.ui.bg.default",
5679
+ color: "dark.ui.typography.body",
5680
+ _checked: {
5681
+ borderColor: "dark.ui.focus",
5682
+ color: "dark.ui.focus",
5683
+ _disabled: {
5684
+ backgroundColor: "dark.ui.bg.default",
5685
+ borderColor: "dark.ui.disabled.secondary",
5686
+ svg: {
5687
+ color: "dark.ui.disabled.secondary"
5688
+ }
5689
+ },
5690
+ _indeterminate: {
5691
+ color: "dark.ui.focus",
5692
+ borderColor: "dark.ui.focus"
5693
+ },
5694
+ _invalid: {
5695
+ borderColor: "dark.ui.error.primary",
5696
+ color: "dark.ui.error.primary"
5697
+ }
5698
+ },
5699
+ _indeterminate: {
5700
+ color: "dark.ui.focus",
5701
+ borderColor: "dark.ui.focus"
5702
+ },
5703
+ _disabled: {
5704
+ backgroundColor: "dark.ui.bg.default",
5705
+ borderColor: "dark.ui.disabled.secondary",
5706
+ svg: {
5707
+ color: "dark.ui.disabled.secondary"
5708
+ }
5709
+ },
5710
+ _focus: {
5711
+ boxShadow: "none",
5712
+ outlineColor: "dark.ui.focus"
5713
+ },
5714
+ _invalid: {
5715
+ borderColor: "dark.ui.error.primary",
5716
+ color: "dark.ui.error.primary"
5717
+ }
5408
5718
  }
5409
5719
  };
5410
5720
  // Style object for the Checkbox's label
@@ -5534,8 +5844,11 @@ var CustomImage = {
5534
5844
  width: "100%"
5535
5845
  }, imageSizes$1[size], {
5536
5846
  img: {
5537
- backgroundColor: "ui.gray.x-light-cool",
5538
- marginBottom: "xxs"
5847
+ backgroundColor: "ui.bg.default",
5848
+ marginBottom: "xxs",
5849
+ _dark: {
5850
+ backgroundColor: "dark.ui.bg.default"
5851
+ }
5539
5852
  }
5540
5853
  }),
5541
5854
  figcaption: {
@@ -5544,12 +5857,16 @@ var CustomImage = {
5544
5857
  },
5545
5858
  img: _extends({
5546
5859
  display: "block",
5547
- backgroundColor: "ui.gray.x-light-cool",
5860
+ backgroundColor: "ui.bg.default",
5548
5861
  boxSizing: "border-box",
5549
5862
  objectFit: "cover",
5550
5863
  position: "relative",
5551
5864
  width: "100%"
5552
- }, imageSizes$1[size]),
5865
+ }, imageSizes$1[size], {
5866
+ _dark: {
5867
+ backgroundColor: "dark.ui.bg.default"
5868
+ }
5869
+ }),
5553
5870
  captionWrappers: {
5554
5871
  marginTop: "xxs"
5555
5872
  }
@@ -5570,13 +5887,16 @@ var CustomImageWrapper = {
5570
5887
  }, imageSizes$1[size], {
5571
5888
  crop: _extends({}, imageRatios[ratio]),
5572
5889
  img: {
5573
- backgroundColor: "ui.gray.x-light-cool",
5890
+ backgroundColor: "ui.bg.default",
5574
5891
  height: "100%",
5575
5892
  left: "0",
5576
5893
  maxWidth: "100%",
5577
5894
  position: "absolute",
5578
5895
  top: "0",
5579
- width: "100%"
5896
+ width: "100%",
5897
+ _dark: {
5898
+ backgroundColor: "dark.ui.bg.default"
5899
+ }
5580
5900
  }
5581
5901
  });
5582
5902
  }
@@ -5611,7 +5931,19 @@ var select = {
5611
5931
  _invalid: {
5612
5932
  border: "1px solid",
5613
5933
  borderColor: "ui.error.primary",
5614
- boxShadow: "none"
5934
+ boxShadow: "none",
5935
+ color: "ui.error.primary"
5936
+ },
5937
+ _dark: {
5938
+ backgroundColor: "dark.ui.bg.default",
5939
+ borderColor: "dark.ui.border.default",
5940
+ _hover: {
5941
+ borderColor: "dark.ui.border.hover"
5942
+ },
5943
+ _invalid: {
5944
+ borderColor: "dark.ui.error.primary",
5945
+ color: "dark.ui.error.primary"
5946
+ }
5615
5947
  }
5616
5948
  };
5617
5949
  var Select = {
@@ -5683,11 +6015,25 @@ var FeedbackBox = {
5683
6015
  p: "0",
5684
6016
  position: "absolute",
5685
6017
  span: /*#__PURE__*/screenreaderOnly(),
5686
- top: "xs"
6018
+ top: "xs",
6019
+ _dark: {
6020
+ svg: {
6021
+ fill: "dark.ui.typography.heading"
6022
+ }
6023
+ }
5687
6024
  },
5688
6025
  drawerBody: {
6026
+ borderLeft: {
6027
+ base: undefined,
6028
+ md: "1px solid"
6029
+ },
6030
+ borderColor: "ui.border.default",
5689
6031
  paddingTop: "m",
5690
- paddingBottom: "m"
6032
+ paddingBottom: "m",
6033
+ _dark: {
6034
+ background: "dark.ui.bg.page",
6035
+ borderColor: "dark.ui.border.default"
6036
+ }
5691
6037
  },
5692
6038
  drawerContent: {
5693
6039
  marginStart: "auto",
@@ -5700,6 +6046,11 @@ var FeedbackBox = {
5700
6046
  alignItems: "baseline",
5701
6047
  background: "ui.gray.light-cool",
5702
6048
  borderBottomWidth: "1px",
6049
+ borderLeftWidth: {
6050
+ base: undefined,
6051
+ md: "1px"
6052
+ },
6053
+ borderTopWidth: "1px",
5703
6054
  display: "flex",
5704
6055
  fontSize: "text.default",
5705
6056
  px: "m",
@@ -5707,6 +6058,9 @@ var FeedbackBox = {
5707
6058
  paddingBottom: "s",
5708
6059
  p: {
5709
6060
  marginBottom: "0"
6061
+ },
6062
+ _dark: {
6063
+ background: "dark.ui.bg.hover"
5710
6064
  }
5711
6065
  },
5712
6066
  openButton: {
@@ -5743,16 +6097,32 @@ var filterBarWidth = {
5743
6097
  }
5744
6098
  };
5745
6099
  var FilterBar = {
5746
- parts: ["modalHeader", "modalFooter", "modalCloseButton", "globalButtonGroup", "globalButtonGroupWrapper"],
6100
+ parts: ["modalBody", "modalHeader", "modalFooter", "modalCloseButton", "globalButtonGroup", "globalButtonGroupWrapper"],
5747
6101
  baseStyle: function baseStyle(_ref) {
5748
6102
  var width = _ref.width;
5749
6103
  return {
5750
6104
  width: "full",
6105
+ modalBody: {
6106
+ _dark: {
6107
+ background: "dark.ui.bg.page"
6108
+ }
6109
+ },
5751
6110
  modalHeader: {
5752
- bg: "ui.gray.x-light-cool"
6111
+ bg: "ui.bg.default",
6112
+ _dark: {
6113
+ background: "dark.ui.bg.default",
6114
+ borderBottom: "1px solid",
6115
+ borderColor: "dark.ui.border.default"
6116
+ }
5753
6117
  },
5754
6118
  modalFooter: {
5755
- bg: "ui.gray.x-light-cool"
6119
+ bg: "ui.bg.default",
6120
+ _dark: {
6121
+ background: "dark.ui.bg.default",
6122
+ borderTop: "1px solid",
6123
+ borderColor: "dark.ui.border.default",
6124
+ color: "dark.ui.typography.heading"
6125
+ }
5756
6126
  },
5757
6127
  modalCloseButton: {
5758
6128
  mt: "8px"
@@ -5776,6 +6146,9 @@ var Footer = {
5776
6146
  lg: "30px 0"
5777
6147
  },
5778
6148
  position: "relative",
6149
+ _dark: {
6150
+ backgroundColor: "dark.ui.bg.default"
6151
+ },
5779
6152
  // The two main lists.
5780
6153
  listsContainer: {
5781
6154
  display: "flex",
@@ -5889,7 +6262,10 @@ var Footer = {
5889
6262
  textDecoration: "none",
5890
6263
  svg: {
5891
6264
  width: "36px",
5892
- height: "36px"
6265
+ height: "36px",
6266
+ _dark: {
6267
+ fill: "dark.ui.typography.body"
6268
+ }
5893
6269
  }
5894
6270
  }
5895
6271
  }
@@ -5908,11 +6284,17 @@ var Footer = {
5908
6284
  backgroundColor: footerGray,
5909
6285
  outline: "solid 2px",
5910
6286
  outlineColor: "ui.white"
6287
+ },
6288
+ _dark: {
6289
+ color: "dark.ui.typography.body"
5911
6290
  }
5912
6291
  },
5913
6292
  // All SVGs in the footer.
5914
6293
  svg: {
5915
- fill: "ui.white"
6294
+ fill: "ui.white",
6295
+ _dark: {
6296
+ color: "dark.ui.typography.body"
6297
+ }
5916
6298
  },
5917
6299
  // For the floating NYPL logo.
5918
6300
  logoContainer: {
@@ -5952,10 +6334,16 @@ var Footer = {
5952
6334
  width: {
5953
6335
  md: "400px"
5954
6336
  },
6337
+ _dark: {
6338
+ color: "dark.ui.typography.body"
6339
+ },
5955
6340
  img: {
5956
6341
  bg: "transparent",
5957
6342
  height: "auto",
5958
- width: "100%"
6343
+ width: "100%",
6344
+ _dark: {
6345
+ opacity: "0.8"
6346
+ }
5959
6347
  }
5960
6348
  },
5961
6349
  copyright: {
@@ -5980,6 +6368,7 @@ var headerDarkBlue = "#135772";
5980
6368
  var headerFocusColor = "#0F465C";
5981
6369
  var headerLightBlue = "#78CCED";
5982
6370
  var headerRed = "#ED1C24";
6371
+ var headerRedDarkMode = "#DC6F73";
5983
6372
  var headerRedDonate = "#E32B31";
5984
6373
  var headerYellow = "#FEE34A";
5985
6374
  var headerFocus = {
@@ -5993,6 +6382,9 @@ var Header = {
5993
6382
  parts: ["container", "horizontalRule", "logo"],
5994
6383
  baseStyle: {
5995
6384
  fontFamily: "'system-ui', 'Segoe UI', Tahoma, 'Helvetica', 'arial'",
6385
+ _dark: {
6386
+ backgroundColor: "dark.ui.bg.default"
6387
+ },
5996
6388
  container: {
5997
6389
  marginX: {
5998
6390
  md: "20px",
@@ -6008,7 +6400,10 @@ var Header = {
6008
6400
  horizontalRule: {
6009
6401
  bg: headerRed,
6010
6402
  marginTop: "0",
6011
- marginBottom: "0"
6403
+ marginBottom: "0",
6404
+ _dark: {
6405
+ backgroundColor: "dark.brand.primary"
6406
+ }
6012
6407
  },
6013
6408
  logo: {
6014
6409
  padding: {
@@ -6195,7 +6590,16 @@ var HeaderLogin = {
6195
6590
  base: "0",
6196
6591
  md: "28px"
6197
6592
  }
6198
- })
6593
+ }),
6594
+ _dark: {
6595
+ color: "ui.gray.xx-dark",
6596
+ svg: {
6597
+ fill: "ui.gray.xx-dark"
6598
+ },
6599
+ _hover: {
6600
+ color: "ui.gray.xx-dark"
6601
+ }
6602
+ }
6199
6603
  },
6200
6604
  patronGreeting: {
6201
6605
  alignSelf: "flex-start",
@@ -6292,7 +6696,16 @@ var HeaderLogin = {
6292
6696
  base: "0",
6293
6697
  md: "28px !important"
6294
6698
  }
6295
- })
6699
+ }),
6700
+ _dark: {
6701
+ color: "ui.gray.xx-dark",
6702
+ svg: {
6703
+ fill: "ui.gray.xx-dark"
6704
+ },
6705
+ _hover: {
6706
+ color: "ui.gray.xx-dark"
6707
+ }
6708
+ }
6296
6709
  }
6297
6710
  };
6298
6711
  }
@@ -6342,7 +6755,22 @@ var HeaderLoginButton = {
6342
6755
  },
6343
6756
  textDecoration: "none"
6344
6757
  },
6345
- _focus: headerFocus
6758
+ _focus: headerFocus,
6759
+ _dark: {
6760
+ bg: {
6761
+ base: isOpen ? headerBlack : "dark.ui.bg.default",
6762
+ md: isOpen ? headerDarkBlue : "dark.ui.bg.default"
6763
+ },
6764
+ color: "dark.ui.typography.heading",
6765
+ svg: {
6766
+ fill: isOpen ? "dark.ui.typography.heading" : null
6767
+ },
6768
+ _hover: {
6769
+ svg: {
6770
+ fill: "dark.ui.typography.heading"
6771
+ }
6772
+ }
6773
+ }
6346
6774
  };
6347
6775
  }
6348
6776
  };
@@ -6351,7 +6779,10 @@ var linkFocusHoverStyles = {
6351
6779
  borderBottom: "3px solid",
6352
6780
  color: headerRed,
6353
6781
  paddingBottom: "2px",
6354
- textDecoration: "none"
6782
+ textDecoration: "none",
6783
+ _dark: {
6784
+ color: headerRedDarkMode
6785
+ }
6355
6786
  };
6356
6787
  var HeaderLowerNav = {
6357
6788
  baseStyle: {
@@ -6371,7 +6802,12 @@ var HeaderLowerNav = {
6371
6802
  fontWeight: "medium",
6372
6803
  textDecoration: "none",
6373
6804
  _hover: linkFocusHoverStyles,
6374
- _focus: /*#__PURE__*/_extends({}, headerFocus, linkFocusHoverStyles)
6805
+ _focus: /*#__PURE__*/_extends({}, headerFocus, linkFocusHoverStyles),
6806
+ _dark: {
6807
+ color: "dark.ui.typography.heading",
6808
+ _hover: linkFocusHoverStyles,
6809
+ _focus: /*#__PURE__*/_extends({}, headerFocus, linkFocusHoverStyles)
6810
+ }
6375
6811
  }
6376
6812
  }
6377
6813
  };
@@ -6389,6 +6825,11 @@ var HeaderMobileIconNav = {
6389
6825
  minHeight: "60px",
6390
6826
  minWidth: "60px",
6391
6827
  _focus: headerFocus
6828
+ },
6829
+ _dark: {
6830
+ svg: {
6831
+ fill: "dark.ui.typography.heading"
6832
+ }
6392
6833
  }
6393
6834
  }
6394
6835
  };
@@ -6483,7 +6924,13 @@ var HeaderMobileNavButton = {
6483
6924
  fill: isOpen ? "ui.white" : "ui.black"
6484
6925
  }
6485
6926
  },
6486
- _focus: headerFocus
6927
+ _focus: headerFocus,
6928
+ _dark: {
6929
+ backgroundColor: isOpen ? headerBlack : "transparent",
6930
+ svg: {
6931
+ fill: "dark.ui.typography.heading"
6932
+ }
6933
+ }
6487
6934
  };
6488
6935
  }
6489
6936
  };
@@ -6559,7 +7006,10 @@ var HeaderSearchForm = {
6559
7006
  fontStyle: "normal"
6560
7007
  },
6561
7008
  _focus: headerFocus,
6562
- _hover: headerFocus
7009
+ _hover: headerFocus,
7010
+ _dark: {
7011
+ color: "dark.ui.typography.body"
7012
+ }
6563
7013
  }
6564
7014
  },
6565
7015
  searchBtn: {
@@ -6626,6 +7076,12 @@ var HeaderSearchForm = {
6626
7076
  backgroundColor: headerBlue
6627
7077
  },
6628
7078
  _focus: headerFocus
7079
+ },
7080
+ _dark: {
7081
+ color: "ui.white",
7082
+ label: {
7083
+ color: "ui.white"
7084
+ }
6629
7085
  }
6630
7086
  }
6631
7087
  };
@@ -6647,13 +7103,24 @@ var HeaderSearchButton = {
6647
7103
  md: "80px"
6648
7104
  },
6649
7105
  textDecoration: "none",
7106
+ _dark: {
7107
+ color: isOpen ? "ui.white" : "dark.ui.link.primary"
7108
+ },
6650
7109
  span: {
6651
7110
  alignItems: "center",
6652
7111
  borderBottom: {
6653
7112
  md: "3px solid #1B7FA7"
6654
7113
  },
6655
7114
  display: "inline-flex",
6656
- lineHeight: "1.3"
7115
+ lineHeight: "1.3",
7116
+ _dark: {
7117
+ borderBottom: isOpen ? "0" : {
7118
+ md: "3px solid"
7119
+ },
7120
+ borderColor: {
7121
+ md: "dark.ui.link.primary"
7122
+ }
7123
+ }
6657
7124
  },
6658
7125
  svg: {
6659
7126
  marginLeft: {
@@ -6663,6 +7130,12 @@ var HeaderSearchButton = {
6663
7130
  fill: {
6664
7131
  base: isOpen ? "ui.white" : "ui.black",
6665
7132
  md: isOpen ? "ui.white" : "ui.link.primary"
7133
+ },
7134
+ _dark: {
7135
+ fill: {
7136
+ base: isOpen ? "ui.white" : "dark.ui.typography.heading",
7137
+ md: isOpen ? "ui.white" : "dark.ui.link.primary"
7138
+ }
6666
7139
  }
6667
7140
  },
6668
7141
  _hover: {
@@ -6674,6 +7147,15 @@ var HeaderSearchButton = {
6674
7147
  base: isOpen ? "ui.white" : "ui.black",
6675
7148
  md: isOpen ? "ui.white" : "ui.link.primary"
6676
7149
  }
7150
+ },
7151
+ _dark: {
7152
+ color: isOpen ? "ui.white" : "dark.ui.link.primary",
7153
+ svg: {
7154
+ fill: {
7155
+ base: isOpen ? "ui.white" : "dark.ui.typography.heading",
7156
+ md: isOpen ? "ui.white" : "dark.ui.link.primary"
7157
+ }
7158
+ }
6677
7159
  }
6678
7160
  },
6679
7161
  _focus: headerFocus
@@ -6705,7 +7187,19 @@ var SitewideAlerts = {
6705
7187
  },
6706
7188
  p: {
6707
7189
  marginBottom: "0"
7190
+ },
7191
+ _dark: {
7192
+ color: "ui.typography.heading",
7193
+ a: {
7194
+ color: "ui.typography.heading",
7195
+ _hover: {
7196
+ color: "ui.typography.heading"
7197
+ }
7198
+ }
6708
7199
  }
7200
+ },
7201
+ _dark: {
7202
+ backgroundColor: "dark.ui.status.primary"
6709
7203
  }
6710
7204
  }
6711
7205
  };
@@ -6736,10 +7230,19 @@ var HeaderUpperNav = {
6736
7230
  color: "ui.black",
6737
7231
  textDecoration: "none"
6738
7232
  },
6739
- _focus: headerFocus
7233
+ _focus: headerFocus,
7234
+ _dark: {
7235
+ color: "dark.ui.typography.heading",
7236
+ _hover: {
7237
+ color: "dark.ui.typography.heading"
7238
+ }
7239
+ }
6740
7240
  },
6741
7241
  svg: {
6742
- marginTop: "0"
7242
+ marginTop: "0",
7243
+ _dark: {
7244
+ fill: "white"
7245
+ }
6743
7246
  },
6744
7247
  emailUpdatesLink: {
6745
7248
  display: "flex",
@@ -6756,6 +7259,9 @@ var HeaderUpperNav = {
6756
7259
  width: "85px",
6757
7260
  _hover: {
6758
7261
  bg: headerRed
7262
+ },
7263
+ _dark: {
7264
+ color: "var(--nypl-colors-ui-black) !important"
6759
7265
  }
6760
7266
  }
6761
7267
  }
@@ -6764,8 +7270,14 @@ var HeaderUpperNav = {
6764
7270
  var baseLinkStyles = {
6765
7271
  color: "ui.link.primary",
6766
7272
  textDecoration: "underline",
7273
+ _dark: {
7274
+ color: "dark.ui.link.primary"
7275
+ },
6767
7276
  _hover: {
6768
- color: "ui.link.secondary"
7277
+ color: "ui.link.secondary",
7278
+ _dark: {
7279
+ color: "dark.ui.link.secondary"
7280
+ }
6769
7281
  }
6770
7282
  };
6771
7283
  var baseButtonLinkStyles = /*#__PURE__*/_extends({}, buttonBaseStyle, {
@@ -6785,10 +7297,6 @@ var variants = {
6785
7297
  width: "s",
6786
7298
  textDecoration: "none",
6787
7299
  fill: "currentColor"
6788
- },
6789
- _hover: {
6790
- color: "ui.link.secondary",
6791
- textDecoration: "underline"
6792
7300
  }
6793
7301
  },
6794
7302
  // The "button" variant is deprecated.
@@ -6805,10 +7313,18 @@ var variants = {
6805
7313
  textDecoration: "none",
6806
7314
  fontWeight: "button.default",
6807
7315
  bg: "ui.link.primary",
7316
+ _dark: {
7317
+ color: "ui.gray.xxx-dark",
7318
+ bg: "dark.ui.link.primary"
7319
+ },
6808
7320
  _hover: {
6809
7321
  color: "ui.white",
6810
7322
  bg: "ui.link.secondary",
6811
- textDecoration: "none"
7323
+ textDecoration: "underline",
7324
+ _dark: {
7325
+ color: "ui.gray.xxx-dark",
7326
+ bg: "dark.ui.link.secondary"
7327
+ }
6812
7328
  }
6813
7329
  },
6814
7330
  buttonPrimary: /*#__PURE__*/_extends({}, baseButtonLinkStyles, /*#__PURE__*/primary({})),
@@ -6831,6 +7347,10 @@ var variants = {
6831
7347
  pointerEvents: "none",
6832
7348
  _visited: {
6833
7349
  color: "ui.gray.dark"
7350
+ },
7351
+ _dark: {
7352
+ bg: "dark.ui.disabled.secondary",
7353
+ color: "dark.ui.disabled.primary"
6834
7354
  }
6835
7355
  })
6836
7356
  };
@@ -6919,7 +7439,10 @@ var Heading$1 = {
6919
7439
  // passed as children to the Heading component.
6920
7440
  a: baseLinkStyles,
6921
7441
  marginBottom: noSpace ? "0" : "s",
6922
- textTransform: isCapitalized ? "capitalize" : isUppercase ? "uppercase" : isLowercase ? "lowercase" : null
7442
+ textTransform: isCapitalized ? "capitalize" : isUppercase ? "uppercase" : isLowercase ? "lowercase" : null,
7443
+ _dark: {
7444
+ color: "dark.ui.typography.heading"
7445
+ }
6923
7446
  };
6924
7447
  },
6925
7448
  // Available variants:
@@ -6938,7 +7461,10 @@ var helperErrorText = {
6938
7461
  marginTop: "xxs",
6939
7462
  marginBottom: "0",
6940
7463
  fontSize: "helper.default",
6941
- color: isInvalid ? "ui.error.primary" : "ui.black"
7464
+ color: isInvalid ? "ui.error.primary" : null,
7465
+ _dark: {
7466
+ color: isInvalid ? "dark.ui.error.primary" : null
7467
+ }
6942
7468
  };
6943
7469
  }
6944
7470
  };
@@ -7011,20 +7537,31 @@ var secondaryHeadingBase = {
7011
7537
  position: "absolute",
7012
7538
  width: "4000px",
7013
7539
  zIndex: "-1"
7540
+ },
7541
+ _dark: {
7542
+ color: "dark.ui.typography.heading"
7014
7543
  }
7015
7544
  };
7016
7545
  // Get all the styles for the specific Secondary variant but
7017
7546
  // update the background color.
7018
7547
  var getSecondaryVariantStyles = function getSecondaryVariantStyles(bgColor) {
7019
7548
  if (bgColor === void 0) {
7020
- bgColor = "ui.black";
7549
+ bgColor = "";
7021
7550
  }
7551
+ var finalBgColor = {
7552
+ light: bgColor ? bgColor : "ui.black",
7553
+ dark: bgColor ? "dark." + bgColor : "dark.ui.bg.active"
7554
+ };
7022
7555
  return _extends({}, secondaryBase, {
7023
7556
  heading: _extends({}, secondaryHeadingBase, {
7024
- bg: bgColor,
7025
7557
  _before: _extends({}, secondaryHeadingBase["_before"], {
7026
- bg: bgColor
7027
- })
7558
+ bg: finalBgColor.light
7559
+ }),
7560
+ _dark: {
7561
+ _before: {
7562
+ bg: finalBgColor.dark
7563
+ }
7564
+ }
7028
7565
  })
7029
7566
  });
7030
7567
  };
@@ -7063,6 +7600,10 @@ var primary$1 = {
7063
7600
  },
7064
7601
  bodyText: {
7065
7602
  marginBottom: "0"
7603
+ },
7604
+ _dark: {
7605
+ bg: "dark.ui.bg.default",
7606
+ color: "dark.ui.typography.body"
7066
7607
  }
7067
7608
  }
7068
7609
  };
@@ -7088,6 +7629,9 @@ var tertiary = {
7088
7629
  base: "xxs",
7089
7630
  xl: "xs"
7090
7631
  }
7632
+ },
7633
+ _dark: {
7634
+ color: "dark.ui.typography.body"
7091
7635
  }
7092
7636
  }),
7093
7637
  heading: {
@@ -7098,6 +7642,9 @@ var tertiary = {
7098
7642
  },
7099
7643
  p: {
7100
7644
  marginBottom: "0"
7645
+ },
7646
+ _dark: {
7647
+ bg: "dark.ui.bg.default"
7101
7648
  }
7102
7649
  };
7103
7650
  var campaign = {
@@ -7135,6 +7682,10 @@ var campaign = {
7135
7682
  },
7136
7683
  top: {
7137
7684
  md: "xxl"
7685
+ },
7686
+ _dark: {
7687
+ bg: "dark.ui.bg.default",
7688
+ color: "dark.ui.typography.body"
7138
7689
  }
7139
7690
  },
7140
7691
  a: {
@@ -7199,7 +7750,10 @@ var fiftyFifty = {
7199
7750
  };
7200
7751
  var Hero = {
7201
7752
  baseStyle: {
7202
- bg: "ui.gray.x-light-cool"
7753
+ bg: "ui.gray.x-light-cool",
7754
+ _dark: {
7755
+ bg: "dark.ui.bg.default"
7756
+ }
7203
7757
  },
7204
7758
  // Available variants:
7205
7759
  variants: {
@@ -7219,13 +7773,16 @@ var HorizontalRule = {
7219
7773
  baseStyle: function baseStyle(_ref) {
7220
7774
  var align = _ref.align;
7221
7775
  return {
7222
- bg: "ui.gray.light-cool",
7776
+ bg: "ui.bg.hover",
7223
7777
  border: "0",
7224
7778
  height: "2px",
7225
7779
  marginBottom: "s",
7226
7780
  marginTop: "s",
7227
7781
  marginStart: align === "left" ? 0 : "auto",
7228
- marginEnd: align === "right" ? 0 : "auto"
7782
+ marginEnd: align === "right" ? 0 : "auto",
7783
+ _dark: {
7784
+ bg: "dark.ui.bg.active"
7785
+ }
7229
7786
  };
7230
7787
  }
7231
7788
  };
@@ -7366,6 +7923,11 @@ var baseUnorderedStyles = function baseUnorderedStyles(noStyling) {
7366
7923
  lineHeight: "0.9",
7367
7924
  marginStart: "-1rem",
7368
7925
  width: "1rem"
7926
+ },
7927
+ _dark: {
7928
+ _before: {
7929
+ color: "dark.ui.bg.active"
7930
+ }
7369
7931
  }
7370
7932
  }
7371
7933
  });
@@ -7376,9 +7938,15 @@ var baseSectionDescriptionStyles = {
7376
7938
  paddingStart: "0",
7377
7939
  h2: {
7378
7940
  borderTop: "3px solid",
7379
- borderColor: "ui.gray.medium",
7941
+ borderColor: "ui.border.default",
7380
7942
  margin: "0",
7381
- padding: "var(--nypl-space-xs) 0 0"
7943
+ padding: "var(--nypl-space-xs) 0 0",
7944
+ _dark: {
7945
+ borderColor: "dark.ui.border.default"
7946
+ }
7947
+ },
7948
+ _dark: {
7949
+ borderColor: "dark.ui.border.default"
7382
7950
  }
7383
7951
  };
7384
7952
  var baseDescriptionStyles = /*#__PURE__*/_extends({}, baseSectionDescriptionStyles, {
@@ -7393,7 +7961,7 @@ var baseDescriptionStyles = /*#__PURE__*/_extends({}, baseSectionDescriptionStyl
7393
7961
  },
7394
7962
  dt: {
7395
7963
  borderTop: "1px solid",
7396
- borderColor: "ui.gray.light-cool",
7964
+ borderColor: "ui.border.default",
7397
7965
  fontWeight: "label.default",
7398
7966
  paddingBottom: {
7399
7967
  base: "0",
@@ -7402,6 +7970,10 @@ var baseDescriptionStyles = /*#__PURE__*/_extends({}, baseSectionDescriptionStyl
7402
7970
  paddingTop: "s",
7403
7971
  paddingEnd: {
7404
7972
  md: "table.column"
7973
+ },
7974
+ _dark: {
7975
+ borderColor: "dark.ui.border.default",
7976
+ color: "dark.ui.typography.heading"
7405
7977
  }
7406
7978
  },
7407
7979
  dd: {
@@ -7412,10 +7984,15 @@ var baseDescriptionStyles = /*#__PURE__*/_extends({}, baseSectionDescriptionStyl
7412
7984
  md: "1px solid"
7413
7985
  },
7414
7986
  borderColor: {
7415
- md: "ui.gray.light-cool"
7987
+ md: "ui.border.default"
7416
7988
  },
7417
7989
  paddingTop: {
7418
7990
  md: "s"
7991
+ },
7992
+ _dark: {
7993
+ borderColor: {
7994
+ md: "dark.ui.border.default"
7995
+ }
7419
7996
  }
7420
7997
  }
7421
7998
  });
@@ -7482,6 +8059,27 @@ var Logo = {
7482
8059
  }
7483
8060
  };
7484
8061
 
8062
+ var Modal = {
8063
+ parts: ["header", "overlay", "dialogContainer", "dialog", "closeButton", "body", "footer"],
8064
+ baseStyle: {
8065
+ dialog: {
8066
+ _dark: {
8067
+ bg: "dark.ui.bg.default"
8068
+ }
8069
+ },
8070
+ header: {
8071
+ _dark: {
8072
+ color: "dark.ui.typography.heading"
8073
+ }
8074
+ },
8075
+ body: {
8076
+ _dark: {
8077
+ color: "dark.ui.typography.body"
8078
+ }
8079
+ }
8080
+ }
8081
+ };
8082
+
7485
8083
  var multiSelectWidths = {
7486
8084
  "default": {
7487
8085
  width: {
@@ -7576,6 +8174,19 @@ var MultiSelect = {
7576
8174
  }
7577
8175
  }
7578
8176
  }
8177
+ },
8178
+ _dark: {
8179
+ background: "dark.ui.bg.default",
8180
+ borderColor: "dark.ui.border.hover",
8181
+ ul: {
8182
+ li: {
8183
+ div: {
8184
+ _hover: {
8185
+ bg: "dark.ui.bg.hover"
8186
+ }
8187
+ }
8188
+ }
8189
+ }
7579
8190
  }
7580
8191
  }),
7581
8192
  menu: {
@@ -7626,7 +8237,7 @@ var MultiSelectMenuButton = {
7626
8237
  backgroundColor: isOpen ? "ui.bg.active" : "ui.white",
7627
8238
  borderBottomLeftRadius: isOpen ? "0" : "button.default",
7628
8239
  borderBottomRightRadius: isOpen ? "0" : "button.default",
7629
- borderColor: isOpen ? "ui.gray.dark" : "ui.gray.medium",
8240
+ borderColor: isOpen ? "ui.border.hover" : "ui.border.default",
7630
8241
  borderRadius: "button.default",
7631
8242
  borderWidth: "1px",
7632
8243
  fontSize: "button.default",
@@ -7645,6 +8256,19 @@ var MultiSelectMenuButton = {
7645
8256
  },
7646
8257
  svg: {
7647
8258
  marginTop: "0"
8259
+ },
8260
+ _dark: {
8261
+ backgroundColor: isOpen ? "dark.ui.bg.active" : "dark.ui.bg.default",
8262
+ borderBottomLeftRadius: isOpen ? "0" : "button.default",
8263
+ borderBottomRightRadius: isOpen ? "0" : "button.default",
8264
+ borderColor: isOpen ? "dark.ui.border.hover" : "dark.ui.border.default",
8265
+ svg: {
8266
+ fill: "dark.ui.typography.heading"
8267
+ },
8268
+ _hover: {
8269
+ backgroundColor: isOpen ? "dark.ui.bg.active" : "dark.ui.bg.default",
8270
+ borderColor: "dark.ui.border.hover"
8271
+ }
7648
8272
  }
7649
8273
  },
7650
8274
  selectedItemsCountButton: {
@@ -7672,6 +8296,16 @@ var MultiSelectMenuButton = {
7672
8296
  marginLeft: "xxs",
7673
8297
  marginRight: "6px",
7674
8298
  marginTop: "0"
8299
+ },
8300
+ _dark: {
8301
+ backgroundColor: "dark.ui.bg.hover",
8302
+ borderColor: isOpen ? "dark.ui.border.hover" : "dark.ui.border.default",
8303
+ svg: {
8304
+ fill: "dark.ui.typography.heading"
8305
+ },
8306
+ _hover: {
8307
+ borderColor: isOpen ? "ui.white" : "dark.ui.border.hover"
8308
+ }
7675
8309
  }
7676
8310
  }
7677
8311
  };
@@ -7681,9 +8315,9 @@ var MultiSelectMenuButton = {
7681
8315
  var Notification = {
7682
8316
  parts: ["container", "dismissibleButton", "icon"],
7683
8317
  baseStyle: function baseStyle(_ref) {
7684
- var dismissible = _ref.dismissible,
7685
- isCentered = _ref.isCentered,
8318
+ var isCentered = _ref.isCentered,
7686
8319
  noMargin = _ref.noMargin,
8320
+ notificationHeading = _ref.notificationHeading,
7687
8321
  notificationType = _ref.notificationType;
7688
8322
  var bg = "ui.status.primary";
7689
8323
  if (notificationType === "announcement" || notificationType === "warning") {
@@ -7691,19 +8325,24 @@ var Notification = {
7691
8325
  }
7692
8326
  return {
7693
8327
  bg: bg,
8328
+ borderRadius: noMargin ? "0" : "4px",
7694
8329
  display: "flex",
7695
8330
  fontSize: "text.caption",
8331
+ m: noMargin ? "0" : "s",
7696
8332
  position: "relative",
8333
+ p: "inset.default",
7697
8334
  textAlign: isCentered ? "center" : null,
7698
- borderRadius: noMargin ? "0" : "4px",
7699
- margin: noMargin ? "0" : "s",
8335
+ _dark: {
8336
+ bg: "dark.ui.bg.hover"
8337
+ },
7700
8338
  container: {
7701
- margin: "auto",
8339
+ display: "flex",
8340
+ flexDirection: isCentered || notificationHeading ? "column" : "row",
8341
+ m: "auto",
7702
8342
  maxWidth: "var(--nypl-breakpoint-xl)",
7703
- padding: "inset.default",
7704
- paddingEnd: dismissible ? "l" : null,
7705
- paddingStart: isCentered && dismissible ? "l" : null,
7706
- width: "100%"
8343
+ paddingEnd: "s",
8344
+ paddingStart: "s",
8345
+ w: "100%"
7707
8346
  },
7708
8347
  dismissibleButton: {
7709
8348
  border: "none",
@@ -7711,8 +8350,8 @@ var Notification = {
7711
8350
  alignItems: "center",
7712
8351
  color: "ui.black",
7713
8352
  display: "flex",
7714
- height: "32px",
7715
- width: "32px",
8353
+ h: "32px",
8354
+ w: "32px",
7716
8355
  minWidth: "0",
7717
8356
  position: "absolute",
7718
8357
  right: "0",
@@ -7720,13 +8359,12 @@ var Notification = {
7720
8359
  svg: {
7721
8360
  marginTop: "0"
7722
8361
  },
8362
+ _dark: {
8363
+ color: "dark.ui.typography.body"
8364
+ },
7723
8365
  _hover: {
7724
8366
  bg: "inherit"
7725
8367
  }
7726
- },
7727
- icon: {
7728
- flexShrink: "0",
7729
- marginEnd: "xs"
7730
8368
  }
7731
8369
  };
7732
8370
  }
@@ -7734,22 +8372,38 @@ var Notification = {
7734
8372
  var NotificationContent = {
7735
8373
  parts: ["content"],
7736
8374
  baseStyle: function baseStyle(_ref2) {
7737
- var alignText = _ref2.alignText,
7738
- icon = _ref2.icon,
7739
- notificationType = _ref2.notificationType;
8375
+ var isCentered = _ref2.isCentered,
8376
+ notificationHeading = _ref2.notificationHeading,
8377
+ notificationType = _ref2.notificationType,
8378
+ showIcon = _ref2.showIcon;
7740
8379
  return {
7741
8380
  display: "flex",
7742
8381
  justifyContent: "center",
7743
8382
  content: {
7744
8383
  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.
8384
+ marginTop: showIcon ? "xxxs" : "0",
8385
+ paddingStart: !isCentered && showIcon ? notificationHeading ? "l" : "xs" : "0",
8386
+ pt: !isCentered && notificationHeading ? "xxs" : "0",
8387
+ w: "100%",
8388
+ _dark: {
8389
+ borderLeftColor: notificationType === "standard" ? "ui.status.primary" : notificationType === "announcement" ? "ui.success.primary" : "dark.ui.error.primary",
8390
+ borderLeftStyle: !isCentered ? "solid" : "none",
8391
+ borderLeftWidth: "2px",
8392
+ marginTop: "0",
8393
+ paddingStart: !isCentered ? "xs" : "0",
8394
+ color: "dark.ui.typography.body",
8395
+ ml: !isCentered && showIcon ? notificationHeading ? "l" : "xs" : "0"
8396
+ },
8397
+ // Links should always be underlined, and always be black if the
8398
+ // color mode is light.
7749
8399
  a: {
7750
8400
  color: "ui.black",
7751
- _hover: {
7752
- color: "ui.black"
8401
+ textDecoration: "underline",
8402
+ _dark: {
8403
+ color: "dark.ui.link.primary",
8404
+ _hover: {
8405
+ color: "dark.ui.link.secondary"
8406
+ }
7753
8407
  }
7754
8408
  }
7755
8409
  }
@@ -7770,12 +8424,32 @@ var NotificationHeading = {
7770
8424
  }
7771
8425
  return {
7772
8426
  display: "flex",
7773
- marginBottom: "xxs",
7774
- justifyContent: isCentered ? "center" : null,
8427
+ flexDirection: isCentered ? "column" : "row",
8428
+ m: isCentered ? "auto" : "null",
8429
+ mb: isCentered ? "xs" : "0",
8430
+ px: isCentered ? "s" : "0",
8431
+ w: "fit-content",
8432
+ _dark: {
8433
+ borderBottomColor: notificationType === "standard" ? "ui.status.primary" : notificationType === "announcement" ? "ui.success.primary" : "dark.ui.error.primary",
8434
+ borderBottomStyle: isCentered ? "solid" : "none",
8435
+ borderBottomWidth: "2px",
8436
+ color: "dark.ui.typography.heading",
8437
+ paddingBottom: isCentered ? "xs" : "0"
8438
+ },
7775
8439
  heading: {
7776
- marginBottom: "0",
7777
- marginTop: icon ? "xxxs" : "0",
7778
- color: color
8440
+ color: color,
8441
+ ml: icon && !isCentered ? "xs" : "0",
8442
+ mt: icon ? "xxxs" : "0",
8443
+ _dark: {
8444
+ borderLeftColor: notificationType === "standard" ? "ui.status.primary" : notificationType === "announcement" ? "ui.success.primary" : "dark.ui.error.primary",
8445
+ borderLeftStyle: !isCentered ? "solid" : "none",
8446
+ borderLeftWidth: "2px",
8447
+ paddingLeft: !isCentered ? "xs" : "0"
8448
+ }
8449
+ },
8450
+ svg: {
8451
+ mx: isCentered ? "auto" : "",
8452
+ mb: isCentered ? "xxs" : "0"
7779
8453
  }
7780
8454
  };
7781
8455
  }
@@ -7809,6 +8483,9 @@ var ProgressIndicator = {
7809
8483
  size = _ref.size;
7810
8484
  return {
7811
8485
  color: darkMode ? "ui.white" : "ui.black",
8486
+ _dark: {
8487
+ color: "dark.ui.typography.heading"
8488
+ },
7812
8489
  circular: {
7813
8490
  // Note: we have to target the SVG HTMl elements in order
7814
8491
  // to override the default styles.
@@ -7818,10 +8495,16 @@ var ProgressIndicator = {
7818
8495
  display: "block",
7819
8496
  circle: {
7820
8497
  _first: {
7821
- stroke: darkMode ? "ui.gray.dark" : "ui.gray.light-cool"
8498
+ stroke: darkMode ? "ui.gray.dark" : "ui.gray.light-cool",
8499
+ _dark: {
8500
+ stroke: "dark.ui.bg.hover"
8501
+ }
7822
8502
  },
7823
8503
  _last: {
7824
- stroke: darkMode ? "ui.white" : "ui.link.primary"
8504
+ stroke: darkMode ? "ui.white" : "ui.link.primary",
8505
+ _dark: {
8506
+ stroke: "dark.ui.link.primary"
8507
+ }
7825
8508
  }
7826
8509
  }
7827
8510
  }
@@ -7836,13 +8519,20 @@ var ProgressIndicator = {
7836
8519
  // Hard to target this specific element without using
7837
8520
  // "Progress" as the key name in index.ts
7838
8521
  "> div": {
7839
- bg: darkMode ? "ui.white" : "ui.link.primary"
8522
+ bg: darkMode ? "ui.white" : "ui.link.primary",
8523
+ _dark: {
8524
+ bg: "dark.ui.link.primary"
8525
+ }
7840
8526
  },
7841
8527
  flex: 25,
7842
8528
  bg: darkMode ? "ui.gray.dark" : "ui.gray.light-cool",
7843
8529
  height: {
7844
8530
  base: "4px",
7845
8531
  md: size === "default" ? "8px" : "4px"
8532
+ },
8533
+ _dark: {
8534
+ bg: "dark.ui.bg.hover",
8535
+ color: "dark.ui.typography.heading"
7846
8536
  }
7847
8537
  },
7848
8538
  linearContainer: {
@@ -7910,6 +8600,42 @@ var baseStyleControl$1 = {
7910
8600
  }),
7911
8601
  _invalid: {
7912
8602
  borderColor: "ui.error.primary"
8603
+ },
8604
+ _dark: {
8605
+ borderColor: "dark.ui.border.default",
8606
+ backgroundColor: "dark.ui.bg.default",
8607
+ _checked: {
8608
+ borderColor: "dark.ui.focus",
8609
+ _disabled: {
8610
+ borderColor: "dark.ui.disabled.secondary",
8611
+ _before: {
8612
+ bg: "dark.ui.disabled.secondary"
8613
+ }
8614
+ },
8615
+ _invalid: {
8616
+ borderColor: "dark.ui.error.primary",
8617
+ _before: {
8618
+ borderColor: "dark.ui.error.primary",
8619
+ bg: "dark.ui.error.primary"
8620
+ }
8621
+ }
8622
+ },
8623
+ _disabled: {
8624
+ borderColor: "dark.ui.disabled.secondary",
8625
+ _before: {
8626
+ bg: "dark.ui.disabled.secondary"
8627
+ }
8628
+ },
8629
+ _focus: {
8630
+ boxShadow: "none",
8631
+ outlineColor: "dark.ui.focus"
8632
+ },
8633
+ _invalid: {
8634
+ borderColor: "dark.ui.error.primary"
8635
+ },
8636
+ _before: {
8637
+ bg: "dark.ui.focus"
8638
+ }
7913
8639
  }
7914
8640
  };
7915
8641
  // Style object for the Radio's label
@@ -7973,12 +8699,22 @@ var SearchBar = {
7973
8699
  },
7974
8700
  select: {
7975
8701
  flexShrink: "0",
7976
- marginBottom: "0",
8702
+ marginBottom: {
8703
+ base: "-1px",
8704
+ md: "0"
8705
+ },
7977
8706
  maxWidth: {
7978
8707
  base: undefined,
7979
8708
  md: "255px"
7980
8709
  },
7981
- textOverflow: "ellipsis"
8710
+ textOverflow: "ellipsis",
8711
+ marginRight: {
8712
+ base: undefined,
8713
+ md: "-1px"
8714
+ },
8715
+ _hover: {
8716
+ zIndex: "10"
8717
+ }
7982
8718
  }
7983
8719
  }
7984
8720
  };
@@ -7990,8 +8726,11 @@ var element = {
7990
8726
  };
7991
8727
  var borderRules = {
7992
8728
  border: "1px solid",
7993
- borderColor: "ui.gray.light-cool",
7994
- padding: "s"
8729
+ borderColor: "ui.gray.x-light-cool",
8730
+ padding: "s",
8731
+ _dark: {
8732
+ borderColor: "ui.gray.xx-dark"
8733
+ }
7995
8734
  };
7996
8735
  var imagePaddingBottomStyles = {
7997
8736
  landscape: "50%",
@@ -8108,8 +8847,11 @@ var fade = function fade() {
8108
8847
  var Skeleton = {
8109
8848
  baseStyle: {
8110
8849
  borderRadius: "2px",
8111
- background: "ui.gray.light-cool",
8112
- animation: /*#__PURE__*/fade() + " 1000ms cubic-bezier(0.25, -0.5, 1, 0) infinite"
8850
+ bg: "ui.gray.light-cool",
8851
+ animation: /*#__PURE__*/fade() + " 1000ms cubic-bezier(0.25, -0.5, 1, 0) infinite",
8852
+ _dark: {
8853
+ bg: "dark.ui.bg.hover"
8854
+ }
8113
8855
  }
8114
8856
  };
8115
8857
 
@@ -8150,15 +8892,17 @@ var staticValues = {
8150
8892
  var CustomSlider = {
8151
8893
  parts: ["container", "leftValue", "rightValue", "textInput", "sliderContainer", "filledTrack", "track", "thumb"],
8152
8894
  baseStyle: function baseStyle(_ref) {
8153
- var isDisabled = _ref.isDisabled,
8895
+ var isDarkMode = _ref.isDarkMode,
8896
+ isDisabled = _ref.isDisabled,
8154
8897
  isInvalid = _ref.isInvalid,
8155
8898
  showBoxes = _ref.showBoxes,
8156
8899
  showValues = _ref.showValues;
8157
- var baseColor = "ui.link.primary";
8900
+ var prefix = isDarkMode ? "dark." : "";
8901
+ var baseColor = prefix + "ui.link.primary";
8158
8902
  if (isInvalid) {
8159
- baseColor = "ui.error.primary";
8903
+ baseColor = prefix + "ui.error.primary";
8160
8904
  } else if (isDisabled) {
8161
- baseColor = "ui.disabled.primary";
8905
+ baseColor = prefix + "ui.disabled.primary";
8162
8906
  }
8163
8907
  return {
8164
8908
  container: {
@@ -8166,20 +8910,25 @@ var CustomSlider = {
8166
8910
  alignItems: "center"
8167
8911
  },
8168
8912
  leftValue: _extends({}, staticValues, {
8169
- color: isDisabled ? "ui.gray.dark" : null
8913
+ color: isDisabled ? "ui.disabled.primary" : null,
8914
+ _dark: {
8915
+ color: isDisabled ? "dark.ui.disabled.primary" : null
8916
+ }
8170
8917
  }),
8171
8918
  rightValue: _extends({}, staticValues, {
8172
8919
  marginStart: "s",
8173
8920
  // If the text input boxes are shown, then there already is
8174
8921
  // a margin, so we can set this static value to "0".
8175
8922
  marginEnd: showBoxes ? "0" : "s",
8176
- color: isDisabled ? "ui.gray.dark" : null
8923
+ color: isDisabled ? "ui.disabled.primary" : null,
8924
+ _dark: {
8925
+ color: isDisabled ? "dark.ui.disabled.primary" : null
8926
+ }
8177
8927
  }),
8178
8928
  textInput: {
8179
8929
  // Allows for three or more digits present in the
8180
8930
  // min or max value text input.
8181
- minWidth: "65px",
8182
- color: isInvalid ? "ui.error.primary" : "ui.black"
8931
+ minWidth: "65px"
8183
8932
  },
8184
8933
  // This is added to the container so that the slider thumbs don't
8185
8934
  // overflow past the container when the value boxes or min/max values
@@ -8197,10 +8946,16 @@ var CustomSlider = {
8197
8946
  bgColor: "ui.gray.light-cool",
8198
8947
  _disabled: {
8199
8948
  bgColor: "ui.disabled.primary"
8949
+ },
8950
+ _dark: {
8951
+ bgColor: "dark.ui.bg.active",
8952
+ _disabled: {
8953
+ bgColor: "dark.ui.disabled.primary"
8954
+ }
8200
8955
  }
8201
8956
  },
8202
8957
  thumb: {
8203
- border: "1px solid",
8958
+ border: "2px solid",
8204
8959
  // Thumb doesn't have an _invalid state...
8205
8960
  // so we manually do it through the props.
8206
8961
  borderColor: baseColor,
@@ -8211,6 +8966,13 @@ var CustomSlider = {
8211
8966
  _disabled: {
8212
8967
  bgColor: "ui.disabled.secondary",
8213
8968
  borderColor: "ui.disabled.primary"
8969
+ },
8970
+ _dark: {
8971
+ bgColor: "dark.ui.bg.default",
8972
+ _disabled: {
8973
+ bgColor: "dark.ui.disabled.secondary",
8974
+ borderColor: "dark.ui.disabled.primary"
8975
+ }
8214
8976
  }
8215
8977
  }
8216
8978
  };
@@ -8227,24 +8989,42 @@ var StatusBadge = {
8227
8989
  py: "inset.extranarrow",
8228
8990
  px: "inset.narrow",
8229
8991
  textAlign: "center",
8230
- width: "fit-content"
8992
+ width: "fit-content",
8993
+ _dark: {
8994
+ backgroundColor: "dark.ui.bg.active",
8995
+ borderLeft: "4px solid",
8996
+ borderColor: "ui.gray.medium",
8997
+ color: "dark.ui.typography.heading"
8998
+ }
8231
8999
  },
8232
9000
  variants: {
8233
9001
  low: {
8234
9002
  bg: "ui.gray.light-cool"
8235
9003
  },
8236
9004
  medium: {
8237
- bg: "ui.status.primary"
9005
+ bg: "ui.status.primary",
9006
+ _dark: {
9007
+ borderColor: "ui.status.primary"
9008
+ }
8238
9009
  },
8239
9010
  high: {
8240
- bg: "ui.status.secondary"
9011
+ bg: "ui.status.secondary",
9012
+ _dark: {
9013
+ borderColor: "dark.ui.error.primary"
9014
+ }
8241
9015
  }
8242
9016
  }
8243
9017
  };
8244
9018
 
8245
- var cellBorderColorStyles = {
8246
- base: "ui.gray.light-cool",
8247
- md: "ui.gray.medium"
9019
+ var CellBorderColorStyles = function CellBorderColorStyles() {
9020
+ var colorValues = useColorModeValue({
9021
+ base: "ui.gray.light-cool",
9022
+ md: "ui.border.default"
9023
+ }, {
9024
+ base: "ui.gray.xx-dark",
9025
+ md: "dark.ui.border.default"
9026
+ });
9027
+ return colorValues;
8248
9028
  };
8249
9029
  var baseTRStyles = function baseTRStyles(columnHeadersBackgroundColor, showRowDividers, useRowHeaders) {
8250
9030
  if (columnHeadersBackgroundColor === void 0) {
@@ -8280,6 +9060,9 @@ var baseTRStyles = function baseTRStyles(columnHeadersBackgroundColor, showRowDi
8280
9060
  md: "0"
8281
9061
  },
8282
9062
  borderColor: "ui.gray.medium"
9063
+ },
9064
+ _dark: {
9065
+ borderColor: "dark.ui.border.default"
8283
9066
  }
8284
9067
  };
8285
9068
  };
@@ -8299,7 +9082,7 @@ var baseCellStyles = function baseCellStyles(columnHeadersBackgroundColor, colum
8299
9082
  return {
8300
9083
  border: showRowDividers ? undefined : "none",
8301
9084
  borderBottom: showRowDividers ? "1px solid" : "0",
8302
- borderColor: cellBorderColorStyles,
9085
+ borderColor: CellBorderColorStyles(),
8303
9086
  display: {
8304
9087
  base: "flex",
8305
9088
  md: "table-cell"
@@ -8340,7 +9123,7 @@ var baseCellStyles = function baseCellStyles(columnHeadersBackgroundColor, colum
8340
9123
  md: "m"
8341
9124
  } : null,
8342
9125
  borderBottom: showRowDividers ? "1px solid" : "none",
8343
- borderColor: cellBorderColorStyles
9126
+ borderColor: CellBorderColorStyles()
8344
9127
  },
8345
9128
  "> span": {
8346
9129
  flexBasis: "50%",
@@ -8357,7 +9140,10 @@ var baseCellStyles = function baseCellStyles(columnHeadersBackgroundColor, colum
8357
9140
  bg: columnHeadersBackgroundColor ? columnHeadersBackgroundColor : undefined,
8358
9141
  color: columnHeadersTextColor ? columnHeadersTextColor : "ui.black",
8359
9142
  fontWeight: "medium",
8360
- paddingStart: columnHeadersBackgroundColor || showRowDividers || useRowHeaders ? "s" : undefined
9143
+ paddingStart: columnHeadersBackgroundColor || showRowDividers || useRowHeaders ? "s" : undefined,
9144
+ _dark: {
9145
+ color: columnHeadersTextColor ? columnHeadersTextColor : "dark.ui.typography.heading"
9146
+ }
8361
9147
  }
8362
9148
  }
8363
9149
  };
@@ -8387,6 +9173,9 @@ var baseTHStyles = function baseTHStyles(columnHeadersBackgroundColor, columnHea
8387
9173
  base: "0",
8388
9174
  md: undefined
8389
9175
  }
9176
+ },
9177
+ _dark: {
9178
+ color: columnHeadersTextColor ? columnHeadersTextColor : "dark.ui.typography.heading"
8390
9179
  }
8391
9180
  });
8392
9181
  };
@@ -8424,7 +9213,7 @@ var baseTDStyles = function baseTDStyles(columnHeadersBackgroundColor, columnHea
8424
9213
  base: 0,
8425
9214
  md: undefined
8426
9215
  },
8427
- borderColor: cellBorderColorStyles
9216
+ borderColor: CellBorderColorStyles()
8428
9217
  }
8429
9218
  });
8430
9219
  };
@@ -8437,15 +9226,23 @@ var baseStyle$2 = function baseStyle(_ref) {
8437
9226
  // Headers `th` can be rendered as the first cell in every row through the
8438
9227
  // `useRowHeaders`. Whereas the header `th` in the `thead` can be rendered
8439
9228
  // with a custom color, the row header `th` in the `tbody` should always
8440
- // have text color black.
9229
+ // have text color black for light color mode and `dark.ui.typography.heading`
9230
+ // for dark color mode.
8441
9231
  tbody: {
8442
9232
  th: {
8443
- color: "ui.black",
8444
9233
  backgroundColor: useRowHeaders ? {
8445
9234
  base: "ui.gray.x-light-cool",
8446
9235
  md: "unset"
8447
9236
  } : undefined,
8448
- verticalAlign: "top"
9237
+ color: "ui.black",
9238
+ verticalAlign: "top",
9239
+ _dark: {
9240
+ backgroundColor: useRowHeaders ? {
9241
+ base: "dark.ui.bg.default",
9242
+ md: "unset"
9243
+ } : undefined,
9244
+ color: "dark.ui.typography.heading"
9245
+ }
8449
9246
  },
8450
9247
  td: {
8451
9248
  verticalAlign: "top"
@@ -8470,7 +9267,10 @@ var baseStyle$2 = function baseStyle(_ref) {
8470
9267
  marginEnd: "0",
8471
9268
  marginTop: "0",
8472
9269
  padding: "0",
8473
- textAlign: "left"
9270
+ textAlign: "left",
9271
+ _dark: {
9272
+ color: "dark.ui.typography.heading"
9273
+ }
8474
9274
  }
8475
9275
  };
8476
9276
  };
@@ -8577,6 +9377,11 @@ var StyledList = {
8577
9377
  borderColor: "ui.border.default",
8578
9378
  my: "xs",
8579
9379
  px: "xs"
9380
+ },
9381
+ _dark: {
9382
+ li: {
9383
+ borderColor: "dark.ui.border.default"
9384
+ }
8580
9385
  }
8581
9386
  }
8582
9387
  }
@@ -8586,7 +9391,6 @@ var tablist = {
8586
9391
  borderColor: "ui.black"
8587
9392
  };
8588
9393
  var tab = {
8589
- color: "black !important",
8590
9394
  paddingInlineStart: "s",
8591
9395
  paddingStart: "s",
8592
9396
  background: "transparent",
@@ -8623,10 +9427,27 @@ var tab = {
8623
9427
  },
8624
9428
  _focus: {
8625
9429
  boxShadow: "0"
9430
+ },
9431
+ _dark: {
9432
+ color: "dark.ui.typography.heading",
9433
+ border: "1px solid transparent",
9434
+ borderBottom: "1px solid",
9435
+ borderBottomColor: "dark.ui.border.hover",
9436
+ _hover: {
9437
+ bg: "dark.ui.bg.hover"
9438
+ },
9439
+ _selected: {
9440
+ color: "dark.ui.typography.heading",
9441
+ border: "0",
9442
+ bg: "dark.ui.bg.active",
9443
+ borderBottom: "3px solid"
9444
+ }
8626
9445
  }
8627
9446
  };
8628
9447
  // Only display the previous/next arrow buttons on mobile.
8629
9448
  var buttonArrows = {
9449
+ bg: "transparent",
9450
+ color: "black",
8630
9451
  border: "0",
8631
9452
  borderRadius: "0",
8632
9453
  display: {
@@ -8641,7 +9462,21 @@ var buttonArrows = {
8641
9462
  // Code from https://codesandbox.io/s/fxjeo for the mobile carousel
8642
9463
  pos: "absolute",
8643
9464
  transition: "0.6s ease",
8644
- zIndex: "9999"
9465
+ zIndex: "9999",
9466
+ _hover: {
9467
+ bg: "unset",
9468
+ color: "unset",
9469
+ borderColor: "unset"
9470
+ },
9471
+ _disabled: {
9472
+ color: "ui.disabled.primary"
9473
+ },
9474
+ _dark: {
9475
+ color: "dark.ui.typography.heading",
9476
+ _disabled: {
9477
+ color: "dark.ui.disabled.primary"
9478
+ }
9479
+ }
8645
9480
  };
8646
9481
  var tablistWrapper = {
8647
9482
  display: "flex",
@@ -8675,7 +9510,10 @@ var tablistWrapper = {
8675
9510
  base: "4px",
8676
9511
  md: "0"
8677
9512
  },
8678
- position: "relative"
9513
+ position: "relative",
9514
+ _dark: {
9515
+ borderColor: "dark.ui.border.hover"
9516
+ }
8679
9517
  };
8680
9518
  var tabpanels = {
8681
9519
  paddingTop: "2px"
@@ -8729,6 +9567,9 @@ var CustomTabs = {
8729
9567
  tablistWrapper: tablistWrapper,
8730
9568
  tabpanels: tabpanels,
8731
9569
  carouselParent: carouselParent
9570
+ },
9571
+ defaultProps: {
9572
+ colorScheme: "ui.black"
8732
9573
  }
8733
9574
  };
8734
9575
 
@@ -8740,9 +9581,9 @@ var TagSetFilter = {
8740
9581
  display: "flex",
8741
9582
  alignItems: "center",
8742
9583
  justifyContent: "center",
8743
- bg: "ui.gray.x-light-cool",
9584
+ bg: "ui.bg.default",
8744
9585
  border: "1px solid",
8745
- borderColor: "ui.gray.medium",
9586
+ borderColor: "ui.border.default",
8746
9587
  borderRadius: "pill",
8747
9588
  color: "ui.black",
8748
9589
  cursor: isDismissible ? "pointer" : "auto",
@@ -8766,7 +9607,17 @@ var TagSetFilter = {
8766
9607
  whiteSpace: "nowrap"
8767
9608
  },
8768
9609
  _hover: {
8769
- bg: isDismissible ? "ui.gray.light-cool" : "ui.gray.x-light-cool"
9610
+ bg: isDismissible ? "ui.bg.hover" : "ui.bg.default",
9611
+ borderColor: isDismissible ? "ui.border.hover" : "ui.border.default"
9612
+ },
9613
+ _dark: {
9614
+ bg: "dark.ui.bg.default",
9615
+ borderColor: "dark.ui.border.default",
9616
+ color: "dark.ui.typography.body",
9617
+ _hover: {
9618
+ bg: isDismissible ? "dark.ui.bg.hover" : "dark.ui.bg.default",
9619
+ borderColor: isDismissible ? "dark.ui.border.hover" : "dark.ui.border.default"
9620
+ }
8770
9621
  },
8771
9622
  clearAll: {
8772
9623
  color: "ui.black",
@@ -8775,7 +9626,10 @@ var TagSetFilter = {
8775
9626
  md: "22px"
8776
9627
  },
8777
9628
  fontSize: "text.tag",
8778
- minHeight: "22px"
9629
+ minHeight: "22px",
9630
+ _dark: {
9631
+ color: "dark.ui.typography.heading"
9632
+ }
8779
9633
  }
8780
9634
  };
8781
9635
  }
@@ -8829,6 +9683,29 @@ var TagSetExplore = {
8829
9683
  "> span": {
8830
9684
  color: "ui.white"
8831
9685
  }
9686
+ },
9687
+ _dark: {
9688
+ bg: "dark.ui.bg.default",
9689
+ borderColor: "dark.ui.link.primary",
9690
+ color: "dark.ui.link.primary",
9691
+ a: {
9692
+ color: "dark.ui.link.primary"
9693
+ },
9694
+ svg: {
9695
+ fill: "dark.ui.link.primary"
9696
+ },
9697
+ _hover: {
9698
+ bg: "dark.ui.link.primary",
9699
+ a: {
9700
+ color: "ui.gray.xxx-dark"
9701
+ },
9702
+ svg: {
9703
+ fill: "ui.gray.xxx-dark"
9704
+ },
9705
+ "> span": {
9706
+ color: "ui.gray.xxx-dark"
9707
+ }
9708
+ }
8832
9709
  }
8833
9710
  }
8834
9711
  };
@@ -8856,7 +9733,10 @@ var Template = {
8856
9733
  color: "ui.black",
8857
9734
  display: "grid",
8858
9735
  gridTemplateColumns: "\n 1fr\n min(1280px, 100%)\n 1fr",
8859
- rowGap: "grid.l"
9736
+ rowGap: "grid.l",
9737
+ _dark: {
9738
+ color: "dark.ui.typography.body"
9739
+ }
8860
9740
  },
8861
9741
  sizes: {},
8862
9742
  defaultProps: {}
@@ -9008,7 +9888,32 @@ var input = {
9008
9888
  _invalid: {
9009
9889
  border: "1px solid",
9010
9890
  borderColor: "ui.error.primary",
9011
- boxShadow: "none"
9891
+ boxShadow: "none",
9892
+ color: "ui.error.primary",
9893
+ _focus: {
9894
+ borderColor: "ui.focus"
9895
+ }
9896
+ },
9897
+ _dark: {
9898
+ bgColor: "dark.ui.bg.default",
9899
+ borderColor: "dark.ui.border.default",
9900
+ _hover: {
9901
+ borderColor: "dark.ui.border.hover"
9902
+ },
9903
+ _disabled: /*#__PURE__*/_extends({}, selectTextInputDisabledStyles, {
9904
+ _placeholder: {
9905
+ color: "ui.gray.x-dark"
9906
+ }
9907
+ }),
9908
+ _active: selectTextInputFocusStyles,
9909
+ _focus: selectTextInputFocusStyles,
9910
+ _placeholder: {
9911
+ color: "ui.gray.dark"
9912
+ },
9913
+ _invalid: {
9914
+ borderColor: "dark.ui.error.primary",
9915
+ color: "dark.ui.error.primary"
9916
+ }
9012
9917
  }
9013
9918
  };
9014
9919
  var TextInput$1 = {
@@ -9085,7 +9990,6 @@ var Switch = {
9085
9990
  var size = _ref2.size;
9086
9991
  return {
9087
9992
  alignItems: "start",
9088
- opacity: 0.4,
9089
9993
  track: {
9090
9994
  backgroundColor: "ui.gray.medium",
9091
9995
  border: "1px solid",
@@ -9115,6 +10019,33 @@ var Switch = {
9115
10019
  outlineColor: "ui.focus",
9116
10020
  outlineOffset: "2px",
9117
10021
  zIndex: "9999"
10022
+ },
10023
+ _dark: {
10024
+ bgColor: "ui.gray.dark",
10025
+ borderColor: "ui.gray.dark",
10026
+ _checked: {
10027
+ bg: "dark.ui.link.primary",
10028
+ borderColor: "dark.ui.link.primary"
10029
+ },
10030
+ _invalid: {
10031
+ bg: "inherit",
10032
+ borderColor: "dark.ui.error.primary",
10033
+ "> span": {
10034
+ bg: "dark.ui.error.primary"
10035
+ }
10036
+ },
10037
+ _disabled: {
10038
+ bg: "dark.ui.disabled.secondary",
10039
+ borderColor: "dark.ui.disabled.secondary",
10040
+ opacity: 1,
10041
+ // These are styles for the thumb. _isDisabled was not working within the `thumb` part.
10042
+ ".chakra-switch__thumb": {
10043
+ bgColor: "dark.ui.disabled.primary"
10044
+ }
10045
+ },
10046
+ _focus: {
10047
+ outlineColor: "dark.ui.focus"
10048
+ }
9118
10049
  }
9119
10050
  },
9120
10051
  label: {
@@ -9124,11 +10055,22 @@ var Switch = {
9124
10055
  _disabled: {
9125
10056
  color: "ui.gray.dark",
9126
10057
  fontStyle: "italic"
10058
+ },
10059
+ _invalid: {
10060
+ color: "ui.error.primary"
10061
+ },
10062
+ _dark: {
10063
+ _disabled: {
10064
+ color: "dark.ui.disabled.primary"
10065
+ },
10066
+ _invalid: {
10067
+ color: "dark.ui.error.primary"
10068
+ }
9127
10069
  }
9128
10070
  },
9129
10071
  thumb: {
9130
- _disabled: {
9131
- bg: "ui.error.primary"
10072
+ _dark: {
10073
+ bgColor: "dark.ui.bg.default"
9132
10074
  }
9133
10075
  }
9134
10076
  };
@@ -9158,10 +10100,10 @@ var Toggle$1 = {
9158
10100
  Switch: Switch
9159
10101
  };
9160
10102
 
9161
- var _baseStyle;
10103
+ var _dark, _baseStyle;
9162
10104
  var $bg = /*#__PURE__*/cssVar("tooltip-bg");
9163
10105
  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)
10106
+ 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
10107
  };
9166
10108
 
9167
10109
  var fourByThree = {
@@ -9176,8 +10118,15 @@ var square = {
9176
10118
  };
9177
10119
  var invalid = {
9178
10120
  backgroundColor: "ui.gray.light-cool",
10121
+ border: "1px solid",
10122
+ borderColor: "ui.border.default",
9179
10123
  height: "auto",
9180
- padding: "s"
10124
+ padding: "s",
10125
+ _dark: {
10126
+ bg: "dark.ui.bg.default",
10127
+ border: "1px solid",
10128
+ borderColor: "dark.ui.border.default"
10129
+ }
9181
10130
  };
9182
10131
  var VideoPlayer = {
9183
10132
  baseStyle: {
@@ -9278,6 +10227,7 @@ var theme = /*#__PURE__*/extendTheme( /*#__PURE__*/_extends({
9278
10227
  Link: Link$1,
9279
10228
  List: List,
9280
10229
  Logo: Logo,
10230
+ Modal: Modal,
9281
10231
  MultiSelect: MultiSelect,
9282
10232
  MultiSelectMenuButton: MultiSelectMenuButton
9283
10233
  }, NotificationStyles, {
@@ -9326,7 +10276,7 @@ var DSProvider = function DSProvider(_ref) {
9326
10276
  };
9327
10277
 
9328
10278
  var _excluded$1c = ["children", "icon", "id", "isCentered", "notificationType"],
9329
- _excluded2$5 = ["alignText", "children", "icon", "notificationType"],
10279
+ _excluded2$5 = ["alignText", "children", "isCentered", "notificationHeading", "notificationType", "showIcon"],
9330
10280
  _excluded3$3 = ["ariaLabel", "className", "dismissible", "icon", "id", "isCentered", "noMargin", "notificationContent", "notificationHeading", "notificationType", "showIcon"];
9331
10281
  /**
9332
10282
  * NotificationHeading child-component.
@@ -9346,9 +10296,10 @@ var NotificationHeading$1 = /*#__PURE__*/chakra(function (props) {
9346
10296
  return React__default.createElement(Box, Object.assign({
9347
10297
  as: "header",
9348
10298
  __css: styles
9349
- }, rest), icon, React__default.createElement(Heading, {
10299
+ }, rest), icon, children && React__default.createElement(Heading, {
9350
10300
  id: id + "-heading",
9351
10301
  level: "four",
10302
+ noSpace: true,
9352
10303
  __css: styles.heading
9353
10304
  }, children));
9354
10305
  });
@@ -9358,17 +10309,21 @@ var NotificationHeading$1 = /*#__PURE__*/chakra(function (props) {
9358
10309
  var NotificationContent$1 = /*#__PURE__*/chakra(function (props) {
9359
10310
  var alignText = props.alignText,
9360
10311
  children = props.children,
9361
- icon = props.icon,
10312
+ isCentered = props.isCentered,
10313
+ notificationHeading = props.notificationHeading,
9362
10314
  notificationType = props.notificationType,
10315
+ showIcon = props.showIcon,
9363
10316
  rest = _objectWithoutPropertiesLoose(props, _excluded2$5);
9364
10317
  var styles = useMultiStyleConfig("NotificationContent", {
9365
10318
  alignText: alignText,
9366
- icon: icon,
9367
- notificationType: notificationType
10319
+ isCentered: isCentered,
10320
+ notificationHeading: notificationHeading,
10321
+ notificationType: notificationType,
10322
+ showIcon: showIcon
9368
10323
  });
9369
10324
  return React__default.createElement(Box, Object.assign({
9370
10325
  __css: styles
9371
- }, rest), icon, React__default.createElement(Box, {
10326
+ }, rest), children && React__default.createElement(Box, {
9372
10327
  __css: styles.content
9373
10328
  }, children));
9374
10329
  });
@@ -9397,14 +10352,17 @@ var Notification$1 = /*#__PURE__*/chakra( /*#__PURE__*/forwardRef(function (prop
9397
10352
  var _useState = useState(true),
9398
10353
  isOpen = _useState[0],
9399
10354
  setIsOpen = _useState[1];
10355
+ var _useColorMode = useColorMode(),
10356
+ colorMode = _useColorMode.colorMode;
9400
10357
  var handleClose = function handleClose() {
9401
10358
  return setIsOpen(false);
9402
10359
  };
9403
10360
  var styles = useMultiStyleConfig("Notification", {
9404
- dismissible: dismissible,
9405
10361
  isCentered: isCentered,
9406
10362
  noMargin: noMargin,
9407
- notificationType: notificationType
10363
+ notificationHeading: notificationHeading,
10364
+ notificationType: notificationType,
10365
+ showIcon: showIcon
9408
10366
  });
9409
10367
  var iconElement = function iconElement() {
9410
10368
  var baseIconProps = {
@@ -9421,25 +10379,29 @@ var Notification$1 = /*#__PURE__*/chakra( /*#__PURE__*/forwardRef(function (prop
9421
10379
  }, baseIconProps));
9422
10380
  var iconProps = {
9423
10381
  announcement: {
9424
- color: "section.research.secondary",
10382
+ color: colorMode === "dark" ? "ui.gray.medium" : "section.research.secondary",
9425
10383
  name: "speakerNotes",
9426
10384
  title: "Notification announcement icon"
9427
10385
  },
9428
10386
  standard: {
9429
- color: "ui.black",
10387
+ color: colorMode === "dark" ? "ui.status.primary" : "ui.black",
9430
10388
  name: "alertNotificationImportant",
9431
10389
  title: "Notification standard icon"
9432
10390
  },
9433
10391
  warning: {
9434
- color: "brand.primary",
10392
+ color: colorMode === "dark" ? "dark.ui.error.primary" : "brand.primary",
9435
10393
  name: "errorFilled",
9436
10394
  title: "Notification warning icon"
9437
10395
  }
9438
10396
  };
9439
10397
  return React__default.createElement(Icon, Object.assign({
10398
+ className: "notification-icon",
9440
10399
  id: id + "-notification-icon"
9441
10400
  }, iconProps[notificationType], baseIconProps));
9442
10401
  };
10402
+ /** Setting the icon color in the styles is not working, so we need to
10403
+ * explicitly override the icon color directly on the component. */
10404
+ var dismissibleButtonIconColor = useColorModeValue("ui.black", "dark.ui.typography.heading");
9443
10405
  var dismissibleButton = dismissible && React__default.createElement(Button, {
9444
10406
  "aria-label": "Close the notification",
9445
10407
  buttonType: "text",
@@ -9447,13 +10409,14 @@ var Notification$1 = /*#__PURE__*/chakra( /*#__PURE__*/forwardRef(function (prop
9447
10409
  onClick: handleClose,
9448
10410
  __css: styles.dismissibleButton
9449
10411
  }, React__default.createElement(Icon, {
10412
+ fill: dismissibleButtonIconColor,
9450
10413
  id: id + "-dismissible-notification-icon",
9451
10414
  name: "close",
9452
10415
  size: "large",
9453
10416
  title: "Notification close icon"
9454
10417
  }));
9455
10418
  var iconElem = iconElement();
9456
- var childHeading = notificationHeading && React__default.createElement(NotificationHeading$1, {
10419
+ var childHeading = (notificationHeading || showIcon) && React__default.createElement(NotificationHeading$1, {
9457
10420
  icon: iconElem,
9458
10421
  id: id,
9459
10422
  isCentered: isCentered,
@@ -9463,8 +10426,10 @@ var Notification$1 = /*#__PURE__*/chakra( /*#__PURE__*/forwardRef(function (prop
9463
10426
  var alignText = !!(childHeading && showIcon && (!!icon || !isCentered));
9464
10427
  var childContent = React__default.createElement(NotificationContent$1, {
9465
10428
  alignText: alignText,
9466
- icon: !childHeading ? iconElem : undefined,
9467
- notificationType: notificationType
10429
+ isCentered: isCentered,
10430
+ notificationHeading: notificationHeading,
10431
+ notificationType: notificationType,
10432
+ showIcon: showIcon
9468
10433
  }, notificationContent);
9469
10434
  // If the `Notification` is closed, don't render anything.
9470
10435
  if (!isOpen) {
@@ -9797,6 +10762,7 @@ var FeedbackBox$1 = /*#__PURE__*/chakra( /*#__PURE__*/forwardRef(function (_ref,
9797
10762
  var maxCommentCharacters = 500;
9798
10763
  var initMinHeight = 165;
9799
10764
  var initTemplateRows = "auto 1fr";
10765
+ var iconColor = useColorModeValue(null, "dark.ui.typography.body");
9800
10766
  var minHeightWithCategory = 235;
9801
10767
  var minHeightWithEmail = 275;
9802
10768
  var minHeightWithCategoryAndEmail = 345;
@@ -9822,6 +10788,7 @@ var FeedbackBox$1 = /*#__PURE__*/chakra( /*#__PURE__*/forwardRef(function (_ref,
9822
10788
  noMargin: true,
9823
10789
  notificationContent: notificationText,
9824
10790
  showIcon: false,
10791
+ p: "0",
9825
10792
  sx: {
9826
10793
  // The padding of the Notification is smaller than
9827
10794
  // the initial one.
@@ -10034,6 +11001,7 @@ var FeedbackBox$1 = /*#__PURE__*/chakra( /*#__PURE__*/forwardRef(function (_ref,
10034
11001
  textAlign: "center",
10035
11002
  ref: focusRef
10036
11003
  }, React__default.createElement(Icon, {
11004
+ color: iconColor,
10037
11005
  name: "actionCheckCircleFilled",
10038
11006
  size: "large"
10039
11007
  }), React__default.createElement(Text, {
@@ -10770,7 +11738,7 @@ var FilterBar$1 = /*#__PURE__*/chakra( /*#__PURE__*/forwardRef(function (props,
10770
11738
  onClick: function onClick() {
10771
11739
  onToggle === undefined ? onOpen() : onToggle();
10772
11740
  }
10773
- }, "Show Filter " + getSelectedItemsCount()), React__default.createElement(Modal, {
11741
+ }, "Show Filter " + getSelectedItemsCount()), React__default.createElement(Modal$1, {
10774
11742
  isOpen: isOpen,
10775
11743
  onClose: function onClose() {
10776
11744
  onToggle === undefined ? _onClose() : onToggle();
@@ -10781,7 +11749,9 @@ var FilterBar$1 = /*#__PURE__*/chakra( /*#__PURE__*/forwardRef(function (props,
10781
11749
  sx: styles.modalHeader
10782
11750
  }, "Filter Criteria"), React__default.createElement(ModalCloseButton, {
10783
11751
  sx: styles.modalCloseButton
10784
- }), React__default.createElement(ModalBody, null, newChildren), React__default.createElement(ModalFooter, {
11752
+ }), React__default.createElement(ModalBody, {
11753
+ sx: styles.modalBody
11754
+ }, newChildren), React__default.createElement(ModalFooter, {
10785
11755
  sx: styles.modalFooter
10786
11756
  }, React__default.createElement(ButtonGroup, {
10787
11757
  layout: "row",
@@ -13925,8 +14895,8 @@ var HeaderSearchForm$1 = /*#__PURE__*/chakra(function (_ref) {
13925
14895
  });
13926
14896
 
13927
14897
  /**
13928
- * This is the button that will render the search form when it is clicked
13929
- * and keep focus trapped within the menu.
14898
+ * This is the button that will render the search form when it is clicked and
14899
+ * keep focus trapped within the menu.
13930
14900
  */
13931
14901
  var HeaderSearchButton$1 = /*#__PURE__*/chakra(function (_ref) {
13932
14902
  var _ref$isMobile = _ref.isMobile,
@@ -14439,7 +15409,7 @@ var Header$1 = /*#__PURE__*/chakra(function (_ref) {
14439
15409
  __css: styles.logo
14440
15410
  }, React__default.createElement(Logo$1, {
14441
15411
  "aria-label": "NYPL Header Logo",
14442
- name: isLargerThanLarge ? "nyplFullBlack" : "nyplLionBlack",
15412
+ name: isLargerThanLarge ? useColorModeValue("nyplFullBlack", "nyplFullWhite") : useColorModeValue("nyplLionBlack", "nyplLionWhite"),
14443
15413
  size: isLargerThanMobile ? "large" : "small",
14444
15414
  title: "NYPL Header Logo"
14445
15415
  })), React__default.createElement(Spacer, null), isLargerThanMobile ? React__default.createElement(VStack, {
@@ -14573,7 +15543,7 @@ var BaseModal = /*#__PURE__*/chakra(function (_ref) {
14573
15543
  isLargerThanMobile = _useNYPLBreakpoints.isLargerThanMobile;
14574
15544
  // For larger screens, set the size to xl, otherwise set it to full.
14575
15545
  var size = isLargerThanMobile ? xlarge : fullSize;
14576
- return React__default.createElement(Modal, Object.assign({
15546
+ return React__default.createElement(Modal$1, Object.assign({
14577
15547
  id: id,
14578
15548
  isOpen: isOpen,
14579
15549
  onClose: onClose,
@@ -14725,7 +15695,10 @@ var Pagination$1 = /*#__PURE__*/chakra( /*#__PURE__*/forwardRef(function (props,
14725
15695
  // The current page link has different styles.
14726
15696
  var currentStyles = isSelectedPage ? {
14727
15697
  color: "ui.black",
14728
- pointerEvent: "none"
15698
+ pointerEvent: "none",
15699
+ _dark: {
15700
+ color: "dark.ui.typography.body"
15701
+ }
14729
15702
  } : {};
14730
15703
  var allAttrs = {
14731
15704
  items: {
@@ -14990,6 +15963,8 @@ var Select$1 = /*#__PURE__*/chakra( /*#__PURE__*/forwardRef(function (props, ref
14990
15963
  // The number of pixels between the label and select elements
14991
15964
  // when the labelPosition is inline (equivalent to --nypl-space-xs).
14992
15965
  var labelSelectGap = 8;
15966
+ // Set the color of the dropdown arrow based on the color mode.
15967
+ var arrowColor = useColorModeValue(isInvalid ? "ui.error.primary" : "ui.black", isInvalid ? "dark.ui.error.primary" : "dark.ui.typography.body");
14993
15968
  if (!id) {
14994
15969
  console.warn("NYPL Reservoir Select: This component's required `id` prop was not passed.");
14995
15970
  }
@@ -15037,6 +16012,7 @@ var Select$1 = /*#__PURE__*/chakra( /*#__PURE__*/forwardRef(function (props, ref
15037
16012
  ref: ref
15038
16013
  }, controlledProps, ariaAttributes, {
15039
16014
  icon: React__default.createElement(Icon, {
16015
+ color: arrowColor,
15040
16016
  id: id + "-icon",
15041
16017
  name: "arrow",
15042
16018
  size: "medium"
@@ -15307,6 +16283,7 @@ var Slider = /*#__PURE__*/chakra( /*#__PURE__*/forwardRef(function (props, ref)
15307
16283
  var _useStateWithDependen = useStateWithDependencies(value),
15308
16284
  currentValue = _useStateWithDependen[0],
15309
16285
  setCurrentValue = _useStateWithDependen[1];
16286
+ var isDarkMode = useColorMode().colorMode === "dark";
15310
16287
  var finalIsInvalid = isInvalid;
15311
16288
  // In the Range Slider, if the first value is bigger than the second value,
15312
16289
  // then set the invalid state.
@@ -15319,6 +16296,7 @@ var Slider = /*#__PURE__*/chakra( /*#__PURE__*/forwardRef(function (props, ref)
15319
16296
  console.warn("NYPL Reservoir Slider: The `min` prop is greater than the `max` prop.");
15320
16297
  }
15321
16298
  var styles = useMultiStyleConfig("CustomSlider", {
16299
+ isDarkMode: isDarkMode,
15322
16300
  isDisabled: isDisabled,
15323
16301
  isInvalid: finalIsInvalid,
15324
16302
  showBoxes: showBoxes,
@@ -15930,6 +16908,9 @@ var TagSetFilter$1 = /*#__PURE__*/chakra(function (props) {
15930
16908
  var finalOnClick = function finalOnClick(tagLabel) {
15931
16909
  onClick && onClick(tagLabel);
15932
16910
  };
16911
+ // Set element colors based on color mode
16912
+ var dismissButtonColor = useColorModeValue("ui.gray.x-dark", "dark.ui.typography.body");
16913
+ var iconColor = useColorModeValue("ui.black", "dark.ui.typography.body");
15933
16914
  // This expects that the consuming app passes in a new set of data
15934
16915
  // whenever the current list of tags needs to be updated.
15935
16916
  useEffect(function () {
@@ -15955,6 +16936,7 @@ var TagSetFilter$1 = /*#__PURE__*/chakra(function (props) {
15955
16936
  sx: styles
15956
16937
  }, !isDismissible && tagSet.iconName ? React__default.createElement(Icon, {
15957
16938
  align: "left",
16939
+ color: iconColor,
15958
16940
  "data-testid": "ts-icon",
15959
16941
  name: tagSet.iconName,
15960
16942
  size: "small"
@@ -15963,7 +16945,7 @@ var TagSetFilter$1 = /*#__PURE__*/chakra(function (props) {
15963
16945
  align: "right",
15964
16946
  name: "close",
15965
16947
  size: "small",
15966
- color: "ui.gray.x-dark",
16948
+ color: dismissButtonColor,
15967
16949
  width: "12px"
15968
16950
  }) : null));
15969
16951
  }), filters.length > 1 && isDismissible ? React__default.createElement(Button, {