@codecademy/gamut 72.2.2-alpha.ca06a3.0 → 72.2.2-alpha.d64fc5.0

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 (80) hide show
  1. package/dist/Alert/elements.d.ts +2 -2
  2. package/dist/Anchor/index.d.ts +19 -9
  3. package/dist/Anchor/index.js +9 -6
  4. package/dist/BarChart/BarRow/elements.d.ts +47 -45
  5. package/dist/BarChart/utils/hooks.d.ts +2 -2
  6. package/dist/BarChart/utils/hooks.js +3 -1
  7. package/dist/Box/GridBox.d.ts +1 -0
  8. package/dist/Box/GridBox.js +1 -1
  9. package/dist/Box/props.d.ts +1 -1
  10. package/dist/Breadcrumbs/index.d.ts +5 -5
  11. package/dist/Breadcrumbs/index.js +2 -2
  12. package/dist/Button/CTAButton.d.ts +2 -2
  13. package/dist/Button/FillButton.d.ts +4 -4
  14. package/dist/Button/IconButton.d.ts +4 -4
  15. package/dist/Button/StrokeButton.d.ts +4 -4
  16. package/dist/Button/TextButton.d.ts +4 -4
  17. package/dist/Button/shared/InlineIconButton.d.ts +2 -2
  18. package/dist/Button/shared/styles.d.ts +3 -3
  19. package/dist/Button/shared/types.d.ts +1 -1
  20. package/dist/ButtonBase/ButtonBase.d.ts +9 -4
  21. package/dist/ButtonBase/ButtonBase.js +11 -4
  22. package/dist/Card/elements.d.ts +109 -103
  23. package/dist/Card/styles.d.ts +8 -8
  24. package/dist/Coachmark/index.d.ts +1 -1
  25. package/dist/ConnectedForm/ConnectedForm.d.ts +1 -1
  26. package/dist/ConnectedForm/ConnectedFormGroup.js +5 -7
  27. package/dist/ConnectedForm/ConnectedInputs/ConnectedCheckbox.js +1 -3
  28. package/dist/ConnectedForm/utils.d.ts +1 -1
  29. package/dist/ConnectedForm/utils.js +1 -1
  30. package/dist/DataList/Tables/Rows/TableRow.js +1 -5
  31. package/dist/DatePicker/DatePickerInput/index.d.ts +1 -1
  32. package/dist/Disclosure/elements.d.ts +18 -12
  33. package/dist/FeatureShimmer/index.js +1 -1
  34. package/dist/Form/SelectDropdown/SelectDropdown.js +1 -1
  35. package/dist/Form/SelectDropdown/elements/containers.js +1 -1
  36. package/dist/Form/SelectDropdown/elements/controls.js +2 -2
  37. package/dist/Form/SelectDropdown/elements/multi-value.js +2 -2
  38. package/dist/Form/SelectDropdown/types/internal.d.ts +2 -2
  39. package/dist/Form/SelectDropdown/utils.js +2 -1
  40. package/dist/Form/elements/Form.d.ts +15 -15
  41. package/dist/Form/elements/FormGroup.d.ts +1 -1
  42. package/dist/Form/styles/Checkbox-styles.d.ts +1 -1
  43. package/dist/GridForm/GridFormButtons/index.d.ts +4 -4
  44. package/dist/List/ListProvider.d.ts +1 -1
  45. package/dist/List/ListRow.js +2 -3
  46. package/dist/List/elements.d.ts +44 -42
  47. package/dist/Menu/MenuItem.js +11 -8
  48. package/dist/Menu/MenuSeparator.js +2 -2
  49. package/dist/Menu/elements.d.ts +2 -2
  50. package/dist/Modals/Dialog.js +6 -2
  51. package/dist/Modals/Modal.js +5 -2
  52. package/dist/Modals/elements.d.ts +1 -1
  53. package/dist/Pagination/AnimatedPaginationButtons.d.ts +31 -29
  54. package/dist/Pagination/EllipsisButton.d.ts +2 -2
  55. package/dist/Pagination/PaginationButton.d.ts +6 -6
  56. package/dist/Pagination/utils.d.ts +31 -29
  57. package/dist/Pagination/utils.js +14 -11
  58. package/dist/Popover/Popover.js +6 -6
  59. package/dist/Popover/types.d.ts +4 -3
  60. package/dist/PopoverContainer/PopoverContainer.js +9 -9
  61. package/dist/PopoverContainer/hooks.d.ts +16 -4
  62. package/dist/PopoverContainer/hooks.js +50 -27
  63. package/dist/PopoverContainer/types.d.ts +2 -1
  64. package/dist/Tabs/TabButton.d.ts +2 -2
  65. package/dist/Tabs/TabNavLink.d.ts +2 -2
  66. package/dist/Tabs/TabNavLink.js +2 -2
  67. package/dist/Tag/elements.d.ts +14 -8
  68. package/dist/Tag/index.js +1 -1
  69. package/dist/Tip/InfoTip/InfoTipButton.d.ts +4 -4
  70. package/dist/Tip/PreviewTip/elements.d.ts +12 -6
  71. package/dist/Tip/__tests__/helpers.d.ts +1 -1
  72. package/dist/Tip/shared/FloatingTip.js +2 -2
  73. package/dist/Tip/shared/types.d.ts +2 -2
  74. package/dist/Tip/shared/utils.js +1 -1
  75. package/dist/Typography/Text.d.ts +2 -1
  76. package/dist/Typography/Text.js +3 -2
  77. package/dist/utils/nullish.d.ts +10 -0
  78. package/dist/utils/nullish.js +11 -0
  79. package/dist/utils/react.js +4 -2
  80. package/package.json +19 -12
@@ -3,8 +3,9 @@ function _extends() { return _extends = Object.assign ? Object.assign.bind() : f
3
3
  import { states, styledOptions, system, variant } from '@codecademy/gamut-styles';
4
4
  import { variance } from '@codecademy/variance';
5
5
  import { forwardRef } from 'react';
6
- import { typographyElementVariants, typographyStyleVariants } from './variants';
6
+ import { typographyElementVariants, typographyStyleVariants, typographyUtilities } from './variants';
7
7
  import { jsx as _jsx } from "react/jsx-runtime";
8
+ export { typographyElementVariants, typographyStyleVariants, typographyUtilities };
8
9
  const displayVariants = variant({
9
10
  variants: typographyStyleVariants
10
11
  });
@@ -110,7 +111,7 @@ const textProps = variance.compose(system.layout, system.typography, system.colo
110
111
  const StyledText = /*#__PURE__*/_styled('span', _extends({}, {
111
112
  target: "e8i0p5k0",
112
113
  label: "StyledText"
113
- }, styledOptions()))(elementVariants, truncateVariants, displayVariants, textStates, textProps, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9UeXBvZ3JhcGh5L1RleHQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZJbUIiLCJmaWxlIjoiLi4vLi4vc3JjL1R5cG9ncmFwaHkvVGV4dC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBzdGF0ZXMsXG4gIHN0eWxlZE9wdGlvbnMsXG4gIHN5c3RlbSxcbiAgdmFyaWFudCxcbn0gZnJvbSAnQGNvZGVjYWRlbXkvZ2FtdXQtc3R5bGVzJztcbmltcG9ydCB7IFN0eWxlUHJvcHMsIHZhcmlhbmNlIH0gZnJvbSAnQGNvZGVjYWRlbXkvdmFyaWFuY2UnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgQ29tcG9uZW50UHJvcHMsIGZvcndhcmRSZWYgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7IHR5cG9ncmFwaHlFbGVtZW50VmFyaWFudHMsIHR5cG9ncmFwaHlTdHlsZVZhcmlhbnRzIH0gZnJvbSAnLi92YXJpYW50cyc7XG5cbmNvbnN0IGRpc3BsYXlWYXJpYW50cyA9IHZhcmlhbnQoe1xuICB2YXJpYW50czogdHlwb2dyYXBoeVN0eWxlVmFyaWFudHMsXG59KTtcblxuY29uc3QgZWxlbWVudFZhcmlhbnRzID0gdmFyaWFudCh7XG4gIHByb3A6ICdhcycsXG4gIHZhcmlhbnRzOiB0eXBvZ3JhcGh5RWxlbWVudFZhcmlhbnRzLFxufSk7XG5cbmNvbnN0IHRydW5jYXRlVmFyaWFudHMgPSB2YXJpYW50KHtcbiAgcHJvcDogJ3RydW5jYXRlJyxcbiAgdmFyaWFudHM6IHtcbiAgICBlbGxpcHNpczoge1xuICAgICAgdGV4dE92ZXJmbG93OiAnZWxsaXBzaXMnLFxuICAgIH0sXG4gICAgZmFkZToge1xuICAgICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgICB0ZXh0T3ZlcmZsb3c6ICdjbGlwJyxcbiAgICAgICcmOmFmdGVyJzoge1xuICAgICAgICBjb250ZW50OiAnXCJcIicsXG4gICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgICB0ZXh0Q29sb3I6ICdiYWNrZ3JvdW5kLWN1cnJlbnQnLFxuICAgICAgICBpbnNldDogMCxcbiAgICAgICAgbGVmdDogMC42NSxcbiAgICAgICAgYmFja2dyb3VuZDpcbiAgICAgICAgICAnbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDApLCBjdXJyZW50Q29sb3IgNzUlKScsXG4gICAgICB9LFxuICAgIH0sXG4gIH0sXG59KTtcblxuY29uc3QgdHJ1bmNhdGVMaW5lc1NjYWxlID0geyAxOiAxLCAyOiAyLCAzOiAzLCA0OiA0LCA1OiA1IH07XG5cbmNvbnN0IHRydW5jYXRlTGluZXNQcm9wcyA9IHZhcmlhbmNlLmNyZWF0ZSh7XG4gIHRydW5jYXRlTGluZXM6IHtcbiAgICBzY2FsZTogdHJ1bmNhdGVMaW5lc1NjYWxlLFxuICAgIHByb3BlcnR5OiAnYWxsJyxcbiAgICB0cmFuc2Zvcm06ICh0cnVuY2F0ZUxpbmVzOiBudW1iZXIpID0+XG4gICAgICB0cnVuY2F0ZUxpbmVzID09PSAxXG4gICAgICAgID8ge1xuICAgICAgICAgICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgICAgICAgICAgd2hpdGVTcGFjZTogJ25vd3JhcCcsXG4gICAgICAgICAgfVxuICAgICAgICA6IHtcbiAgICAgICAgICAgIG92ZXJmbG93OiAnaGlkZGVuJyxcbiAgICAgICAgICAgIGRpc3BsYXk6ICctd2Via2l0LWJveCcsXG4gICAgICAgICAgICBXZWJraXRCb3hPcmllbnQ6ICd2ZXJ0aWNhbCcsXG4gICAgICAgICAgICBXZWJraXRMaW5lQ2xhbXA6IHRydW5jYXRlTGluZXMsXG4gICAgICAgICAgICAnJjphZnRlcic6IHtcbiAgICAgICAgICAgICAgdG9wOiBgJHsxMDAgLSAxMDAgLyB0cnVuY2F0ZUxpbmVzfSVgLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICB9LFxufSk7XG5cbmNvbnN0IHRleHRTdGF0ZXMgPSBzdGF0ZXMoe1xuICBjZW50ZXI6IHtcbiAgICB0ZXh0QWxpZ246ICdjZW50ZXInLFxuICB9LFxuICBibG9jazoge1xuICAgIGRpc3BsYXk6ICdibG9jaycsXG4gIH0sXG4gIGhpZ2hsaWdodDoge1xuICAgIGZvbnRXZWlnaHQ6ICdib2xkJyxcbiAgICBtaW5XaWR0aDogJzAuNHJlbScsXG4gICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgekluZGV4OiAxLFxuICAgIC8vIHRoZSB0ZXh0IGlzIG1vcmUgbGVnaWJsZSBhZ2FpbnN0IHRoZSBiYWNrZ3JvdW5kIGNvbG9yIHdpdGggdGV4dCBzbW9vdGhpbmdcbiAgICBNb3pPc3hGb250U21vb3RoaW5nOiAnZ3JheXNjYWxlJyxcbiAgICBXZWJraXRGb250U21vb3RoaW5nOiAnYW50aWFsaWFzZWQnLFxuICAgICcmOmFmdGVyJzoge1xuICAgICAgYmc6ICdwcmltYXJ5LWludmVyc2UnLFxuICAgICAgY29udGVudDogJ1wiXCInLFxuICAgICAgZGlzcGxheTogJ2Jsb2NrJyxcbiAgICAgIGhlaWdodDogJzMyLjUlJyxcbiAgICAgIGxlZnQ6ICcwJyxcbiAgICAgIG1sOiAnLTAuMnJlbScgYXMgYW55LFxuICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICB0b3A6ICc1MCUnLFxuICAgICAgd2lkdGg6ICdjYWxjKDEwMCUgKyAwLjRyZW0pJyxcbiAgICAgIHpJbmRleDogLTEsXG4gICAgfSxcbiAgfSxcbiAgc2NyZWVucmVhZGVyOiB7XG4gICAgZGlzcGxheTogJ2lubGluZS1ibG9jaycsXG4gICAgaGVpZ2h0OiAnMXB4JyxcbiAgICB3aWR0aDogJzFweCcsXG4gICAgd2hpdGVTcGFjZTogJ25vd3JhcCcsXG4gICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgIGNvbG9yOiAndHJhbnNwYXJlbnQnLFxuICAgIGxlZnQ6IC05OTk5LFxuICAgIHA6IDAsXG4gICAgbTogMCxcbiAgICBib3JkZXI6ICdub25lJyxcbiAgfSxcbiAgc21vb3RoOiB7XG4gICAgV2Via2l0Rm9udFNtb290aGluZzogJ2FudGlhbGlhc2VkJyxcbiAgICBNb3pPc3hGb250U21vb3RoaW5nOiAnZ3JheXNjYWxlJyxcbiAgfSxcbn0pO1xuXG5jb25zdCB0ZXh0UHJvcHMgPSB2YXJpYW5jZS5jb21wb3NlKFxuICBzeXN0ZW0ubGF5b3V0LFxuICBzeXN0ZW0udHlwb2dyYXBoeSxcbiAgc3lzdGVtLmNvbG9yLFxuICBzeXN0ZW0uc3BhY2UsXG4gIHRydW5jYXRlTGluZXNQcm9wc1xuKTtcblxuZXhwb3J0IGludGVyZmFjZSBCYXNlVGV4dFByb3BzXG4gIGV4dGVuZHMgU3R5bGVQcm9wczx0eXBlb2YgdGV4dFByb3BzPixcbiAgICBTdHlsZVByb3BzPHR5cGVvZiB0ZXh0U3RhdGVzPixcbiAgICBTdHlsZVByb3BzPHR5cGVvZiBlbGVtZW50VmFyaWFudHM+LFxuICAgIFN0eWxlUHJvcHM8dHlwZW9mIHRydW5jYXRlVmFyaWFudHM+LFxuICAgIFN0eWxlUHJvcHM8dHlwZW9mIGRpc3BsYXlWYXJpYW50cz4ge31cblxuLy8gaWYgeW91J3JlIGdvaW5nIHRvIHRydW5jYXRlLCB5b3UgbmVlZCB0byBwcm92aWRlIGJvdGggb2YgdGhlc2UgcHJvcHMgb3IgbmVpdGhlclxuZXhwb3J0IGludGVyZmFjZSBUZXh0VHJ1bmNhdGVQcm9wcyBleHRlbmRzIEJhc2VUZXh0UHJvcHMge1xuICB0cnVuY2F0ZUxpbmVzOiBFeGNsdWRlPEJhc2VUZXh0UHJvcHNbJ3RydW5jYXRlTGluZXMnXSwgdW5kZWZpbmVkPjtcbiAgdHJ1bmNhdGU6IEV4Y2x1ZGU8QmFzZVRleHRQcm9wc1sndHJ1bmNhdGUnXSwgZmFsc2UgfCB1bmRlZmluZWQ+O1xufVxuZXhwb3J0IGludGVyZmFjZSBUZXh0Tm9UcnVuY2F0ZVByb3BzIGV4dGVuZHMgQmFzZVRleHRQcm9wcyB7XG4gIHRydW5jYXRlTGluZXM/OiBuZXZlcjtcbiAgdHJ1bmNhdGU/OiBuZXZlcjtcbn1cblxuZXhwb3J0IHR5cGUgVGV4dFByb3BzID0gVGV4dFRydW5jYXRlUHJvcHMgfCBUZXh0Tm9UcnVuY2F0ZVByb3BzO1xuXG5jb25zdCBTdHlsZWRUZXh0ID0gc3R5bGVkKCdzcGFuJywgc3R5bGVkT3B0aW9uczwnc3Bhbic+KCkpPFRleHRQcm9wcz4oXG4gIGVsZW1lbnRWYXJpYW50cyxcbiAgdHJ1bmNhdGVWYXJpYW50cyxcbiAgZGlzcGxheVZhcmlhbnRzLFxuICB0ZXh0U3RhdGVzLFxuICB0ZXh0UHJvcHNcbik7XG5cbmV4cG9ydCBjb25zdCBUZXh0ID0gZm9yd2FyZFJlZjxcbiAgSFRNTFNwYW5FbGVtZW50LFxuICBDb21wb25lbnRQcm9wczx0eXBlb2YgU3R5bGVkVGV4dD5cbj4oKHsgYXMgPSAnc3BhbicsIG0gPSAwLCAuLi5yZXN0IH0sIHJlZikgPT4gKFxuICA8U3R5bGVkVGV4dCBhcz17YXN9IG09e219IHJlZj17cmVmfSB7Li4ucmVzdH0gLz5cbikpO1xuIl19 */");
114
+ }, styledOptions()))(elementVariants, truncateVariants, displayVariants, textStates, textProps, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9UeXBvZ3JhcGh5L1RleHQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXVKbUIiLCJmaWxlIjoiLi4vLi4vc3JjL1R5cG9ncmFwaHkvVGV4dC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBzdGF0ZXMsXG4gIHN0eWxlZE9wdGlvbnMsXG4gIHN5c3RlbSxcbiAgdmFyaWFudCxcbn0gZnJvbSAnQGNvZGVjYWRlbXkvZ2FtdXQtc3R5bGVzJztcbmltcG9ydCB7IFN0eWxlUHJvcHMsIHZhcmlhbmNlIH0gZnJvbSAnQGNvZGVjYWRlbXkvdmFyaWFuY2UnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgQ29tcG9uZW50UHJvcHMsIGZvcndhcmRSZWYgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7XG4gIHR5cG9ncmFwaHlFbGVtZW50VmFyaWFudHMsXG4gIHR5cG9ncmFwaHlTdHlsZVZhcmlhbnRzLFxuICB0eXBvZ3JhcGh5VXRpbGl0aWVzLFxufSBmcm9tICcuL3ZhcmlhbnRzJztcblxuZXhwb3J0IHtcbiAgdHlwb2dyYXBoeUVsZW1lbnRWYXJpYW50cyxcbiAgdHlwb2dyYXBoeVN0eWxlVmFyaWFudHMsXG4gIHR5cG9ncmFwaHlVdGlsaXRpZXMsXG59O1xuXG5jb25zdCBkaXNwbGF5VmFyaWFudHMgPSB2YXJpYW50KHtcbiAgdmFyaWFudHM6IHR5cG9ncmFwaHlTdHlsZVZhcmlhbnRzLFxufSk7XG5cbmNvbnN0IGVsZW1lbnRWYXJpYW50cyA9IHZhcmlhbnQoe1xuICBwcm9wOiAnYXMnLFxuICB2YXJpYW50czogdHlwb2dyYXBoeUVsZW1lbnRWYXJpYW50cyxcbn0pO1xuXG5jb25zdCB0cnVuY2F0ZVZhcmlhbnRzID0gdmFyaWFudCh7XG4gIHByb3A6ICd0cnVuY2F0ZScsXG4gIHZhcmlhbnRzOiB7XG4gICAgZWxsaXBzaXM6IHtcbiAgICAgIHRleHRPdmVyZmxvdzogJ2VsbGlwc2lzJyxcbiAgICB9LFxuICAgIGZhZGU6IHtcbiAgICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgICAgdGV4dE92ZXJmbG93OiAnY2xpcCcsXG4gICAgICAnJjphZnRlcic6IHtcbiAgICAgICAgY29udGVudDogJ1wiXCInLFxuICAgICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICAgICAgdGV4dENvbG9yOiAnYmFja2dyb3VuZC1jdXJyZW50JyxcbiAgICAgICAgaW5zZXQ6IDAsXG4gICAgICAgIGxlZnQ6IDAuNjUsXG4gICAgICAgIGJhY2tncm91bmQ6XG4gICAgICAgICAgJ2xpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgwLCAwLCAwLCAwKSwgY3VycmVudENvbG9yIDc1JSknLFxuICAgICAgfSxcbiAgICB9LFxuICB9LFxufSk7XG5cbmNvbnN0IHRydW5jYXRlTGluZXNTY2FsZSA9IHsgMTogMSwgMjogMiwgMzogMywgNDogNCwgNTogNSB9O1xuXG5jb25zdCB0cnVuY2F0ZUxpbmVzUHJvcHMgPSB2YXJpYW5jZS5jcmVhdGUoe1xuICB0cnVuY2F0ZUxpbmVzOiB7XG4gICAgc2NhbGU6IHRydW5jYXRlTGluZXNTY2FsZSxcbiAgICBwcm9wZXJ0eTogJ2FsbCcsXG4gICAgdHJhbnNmb3JtOiAodHJ1bmNhdGVMaW5lczogbnVtYmVyKSA9PlxuICAgICAgdHJ1bmNhdGVMaW5lcyA9PT0gMVxuICAgICAgICA/IHtcbiAgICAgICAgICAgIG92ZXJmbG93OiAnaGlkZGVuJyxcbiAgICAgICAgICAgIHdoaXRlU3BhY2U6ICdub3dyYXAnLFxuICAgICAgICAgIH1cbiAgICAgICAgOiB7XG4gICAgICAgICAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgICAgICAgICBkaXNwbGF5OiAnLXdlYmtpdC1ib3gnLFxuICAgICAgICAgICAgV2Via2l0Qm94T3JpZW50OiAndmVydGljYWwnLFxuICAgICAgICAgICAgV2Via2l0TGluZUNsYW1wOiB0cnVuY2F0ZUxpbmVzLFxuICAgICAgICAgICAgJyY6YWZ0ZXInOiB7XG4gICAgICAgICAgICAgIHRvcDogYCR7MTAwIC0gMTAwIC8gdHJ1bmNhdGVMaW5lc30lYCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgfSxcbn0pO1xuXG5jb25zdCB0ZXh0U3RhdGVzID0gc3RhdGVzKHtcbiAgY2VudGVyOiB7XG4gICAgdGV4dEFsaWduOiAnY2VudGVyJyxcbiAgfSxcbiAgYmxvY2s6IHtcbiAgICBkaXNwbGF5OiAnYmxvY2snLFxuICB9LFxuICBoaWdobGlnaHQ6IHtcbiAgICBmb250V2VpZ2h0OiAnYm9sZCcsXG4gICAgbWluV2lkdGg6ICcwLjRyZW0nLFxuICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgIHpJbmRleDogMSxcbiAgICAvLyB0aGUgdGV4dCBpcyBtb3JlIGxlZ2libGUgYWdhaW5zdCB0aGUgYmFja2dyb3VuZCBjb2xvciB3aXRoIHRleHQgc21vb3RoaW5nXG4gICAgTW96T3N4Rm9udFNtb290aGluZzogJ2dyYXlzY2FsZScsXG4gICAgV2Via2l0Rm9udFNtb290aGluZzogJ2FudGlhbGlhc2VkJyxcbiAgICAnJjphZnRlcic6IHtcbiAgICAgIGJnOiAncHJpbWFyeS1pbnZlcnNlJyxcbiAgICAgIGNvbnRlbnQ6ICdcIlwiJyxcbiAgICAgIGRpc3BsYXk6ICdibG9jaycsXG4gICAgICBoZWlnaHQ6ICczMi41JScsXG4gICAgICBsZWZ0OiAnMCcsXG4gICAgICBtbDogJy0wLjJyZW0nIGFzIGFueSxcbiAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgdG9wOiAnNTAlJyxcbiAgICAgIHdpZHRoOiAnY2FsYygxMDAlICsgMC40cmVtKScsXG4gICAgICB6SW5kZXg6IC0xLFxuICAgIH0sXG4gIH0sXG4gIHNjcmVlbnJlYWRlcjoge1xuICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgIGhlaWdodDogJzFweCcsXG4gICAgd2lkdGg6ICcxcHgnLFxuICAgIHdoaXRlU3BhY2U6ICdub3dyYXAnLFxuICAgIG92ZXJmbG93OiAnaGlkZGVuJyxcbiAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICBjb2xvcjogJ3RyYW5zcGFyZW50JyxcbiAgICBsZWZ0OiAtOTk5OSxcbiAgICBwOiAwLFxuICAgIG06IDAsXG4gICAgYm9yZGVyOiAnbm9uZScsXG4gIH0sXG4gIHNtb290aDoge1xuICAgIFdlYmtpdEZvbnRTbW9vdGhpbmc6ICdhbnRpYWxpYXNlZCcsXG4gICAgTW96T3N4Rm9udFNtb290aGluZzogJ2dyYXlzY2FsZScsXG4gIH0sXG59KTtcblxuY29uc3QgdGV4dFByb3BzID0gdmFyaWFuY2UuY29tcG9zZShcbiAgc3lzdGVtLmxheW91dCxcbiAgc3lzdGVtLnR5cG9ncmFwaHksXG4gIHN5c3RlbS5jb2xvcixcbiAgc3lzdGVtLnNwYWNlLFxuICB0cnVuY2F0ZUxpbmVzUHJvcHNcbik7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFzZVRleHRQcm9wc1xuICBleHRlbmRzIFN0eWxlUHJvcHM8dHlwZW9mIHRleHRQcm9wcz4sXG4gICAgU3R5bGVQcm9wczx0eXBlb2YgdGV4dFN0YXRlcz4sXG4gICAgU3R5bGVQcm9wczx0eXBlb2YgZWxlbWVudFZhcmlhbnRzPixcbiAgICBTdHlsZVByb3BzPHR5cGVvZiB0cnVuY2F0ZVZhcmlhbnRzPixcbiAgICBTdHlsZVByb3BzPHR5cGVvZiBkaXNwbGF5VmFyaWFudHM+IHt9XG5cbi8vIGlmIHlvdSdyZSBnb2luZyB0byB0cnVuY2F0ZSwgeW91IG5lZWQgdG8gcHJvdmlkZSBib3RoIG9mIHRoZXNlIHByb3BzIG9yIG5laXRoZXJcbmV4cG9ydCBpbnRlcmZhY2UgVGV4dFRydW5jYXRlUHJvcHMgZXh0ZW5kcyBCYXNlVGV4dFByb3BzIHtcbiAgdHJ1bmNhdGVMaW5lczogRXhjbHVkZTxCYXNlVGV4dFByb3BzWyd0cnVuY2F0ZUxpbmVzJ10sIHVuZGVmaW5lZD47XG4gIHRydW5jYXRlOiBFeGNsdWRlPEJhc2VUZXh0UHJvcHNbJ3RydW5jYXRlJ10sIGZhbHNlIHwgdW5kZWZpbmVkPjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgVGV4dE5vVHJ1bmNhdGVQcm9wcyBleHRlbmRzIEJhc2VUZXh0UHJvcHMge1xuICB0cnVuY2F0ZUxpbmVzPzogbmV2ZXI7XG4gIHRydW5jYXRlPzogbmV2ZXI7XG59XG5cbmV4cG9ydCB0eXBlIFRleHRQcm9wcyA9IFRleHRUcnVuY2F0ZVByb3BzIHwgVGV4dE5vVHJ1bmNhdGVQcm9wcztcblxuY29uc3QgU3R5bGVkVGV4dCA9IHN0eWxlZCgnc3BhbicsIHN0eWxlZE9wdGlvbnM8J3NwYW4nPigpKTxUZXh0UHJvcHM+KFxuICBlbGVtZW50VmFyaWFudHMsXG4gIHRydW5jYXRlVmFyaWFudHMsXG4gIGRpc3BsYXlWYXJpYW50cyxcbiAgdGV4dFN0YXRlcyxcbiAgdGV4dFByb3BzXG4pO1xuXG5leHBvcnQgY29uc3QgVGV4dCA9IGZvcndhcmRSZWY8XG4gIEhUTUxTcGFuRWxlbWVudCxcbiAgQ29tcG9uZW50UHJvcHM8dHlwZW9mIFN0eWxlZFRleHQ+XG4+KCh7IGFzID0gJ3NwYW4nLCBtID0gMCwgLi4ucmVzdCB9LCByZWYpID0+IChcbiAgPFN0eWxlZFRleHQgYXM9e2FzfSBtPXttfSByZWY9e3JlZn0gey4uLnJlc3R9IC8+XG4pKTtcbiJdfQ== */");
114
115
  export const Text = /*#__PURE__*/forwardRef(({
115
116
  as = 'span',
116
117
  m = 0,
@@ -0,0 +1,10 @@
1
+ /**
2
+ * True when `value` is `null` or `undefined`.
3
+ * Use instead of `value == null` when `eqeqeq` is enforced.
4
+ */
5
+ export declare const isNullish: (value: unknown) => value is null | undefined;
6
+ /**
7
+ * True when `value` is neither `null` nor `undefined`.
8
+ * Use instead of `value != null` when `eqeqeq` is enforced.
9
+ */
10
+ export declare const isDefined: <T>(value: T | null | undefined) => value is T;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * True when `value` is `null` or `undefined`.
3
+ * Use instead of `value == null` when `eqeqeq` is enforced.
4
+ */
5
+ export const isNullish = value => value === null || value === undefined;
6
+
7
+ /**
8
+ * True when `value` is neither `null` nor `undefined`.
9
+ * Use instead of `value != null` when `eqeqeq` is enforced.
10
+ */
11
+ export const isDefined = value => value !== undefined && value !== null;
@@ -1,4 +1,5 @@
1
1
  import { Children, isValidElement } from 'react';
2
+ import { isNullish } from './nullish';
2
3
 
3
4
  /**
4
5
  * Recursively extracts plain text content from React children.
@@ -29,11 +30,12 @@ export const extractTextContent = children => {
29
30
  if (typeof child === 'string' || typeof child === 'number') {
30
31
  return String(child);
31
32
  }
32
- if (typeof child === 'boolean' || child == null) {
33
+ if (typeof child === 'boolean' || isNullish(child)) {
33
34
  return '';
34
35
  }
35
36
  if (/*#__PURE__*/isValidElement(child)) {
36
- const textContent = child.props.children ?? child.props.text ?? '';
37
+ const props = child.props;
38
+ const textContent = props.children ?? props.text ?? '';
37
39
  return extractTextContent(textContent);
38
40
  }
39
41
  return '';
package/package.json CHANGED
@@ -1,21 +1,21 @@
1
1
  {
2
2
  "name": "@codecademy/gamut",
3
3
  "description": "Styleguide & Component library for Codecademy",
4
- "version": "72.2.2-alpha.ca06a3.0",
4
+ "version": "72.2.2-alpha.d64fc5.0",
5
5
  "author": "Codecademy Engineering <dev@codecademy.com>",
6
6
  "bin": "./bin/gamut.mjs",
7
7
  "dependencies": {
8
- "@codecademy/gamut-icons": "9.57.10-alpha.ca06a3.0",
9
- "@codecademy/gamut-illustrations": "0.58.16-alpha.ca06a3.0",
10
- "@codecademy/gamut-patterns": "0.10.35-alpha.ca06a3.0",
11
- "@codecademy/gamut-styles": "20.0.3-alpha.ca06a3.0",
12
- "@codecademy/variance": "0.26.2-alpha.ca06a3.0",
8
+ "@codecademy/gamut-icons": "9.57.10-alpha.d64fc5.0",
9
+ "@codecademy/gamut-illustrations": "0.58.16-alpha.d64fc5.0",
10
+ "@codecademy/gamut-patterns": "0.10.35-alpha.d64fc5.0",
11
+ "@codecademy/gamut-styles": "20.0.3-alpha.d64fc5.0",
12
+ "@codecademy/variance": "0.26.2-alpha.d64fc5.0",
13
13
  "@formatjs/intl-locale": "5.3.1",
14
14
  "@react-aria/interactions": "3.25.0",
15
15
  "@types/marked": "^4.0.8",
16
16
  "@vidstack/react": "^1.12.12",
17
17
  "classnames": "^2.2.5",
18
- "framer-motion": "^11.18.0",
18
+ "framer-motion": "^12.0.0",
19
19
  "html-to-react": "^1.6.0",
20
20
  "invariant": "^2.2.4",
21
21
  "lodash": "^4.17.23",
@@ -23,13 +23,20 @@
23
23
  "polished": "^4.1.2",
24
24
  "react-aria-components": "1.7.1",
25
25
  "react-focus-on": "3.10.0",
26
- "react-hook-form": "^7.65.0",
26
+ "react-hook-form": "^7.71.2",
27
27
  "react-player": "^2.16.0",
28
28
  "react-select": "^5.2.2",
29
29
  "react-truncate-markup": "^5.1.2",
30
30
  "react-use": "^15.3.8",
31
31
  "sanitize-markdown": "^2.6.7"
32
32
  },
33
+ "exports": {
34
+ ".": {
35
+ "import": "./dist/index.js",
36
+ "types": "./dist/index.d.ts",
37
+ "default": "./dist/index.js"
38
+ }
39
+ },
33
40
  "files": [
34
41
  "dist",
35
42
  "bin",
@@ -37,15 +44,14 @@
37
44
  ],
38
45
  "license": "MIT",
39
46
  "main": "./dist/index.js",
40
- "module": "./dist/index.js",
41
47
  "overrides": {
42
48
  "@react-aria/interactions": "3.25.0"
43
49
  },
44
50
  "peerDependencies": {
45
51
  "@emotion/react": "^11.4.0",
46
52
  "@emotion/styled": "^11.3.0",
47
- "react": "^17.0.2 || ^18.3.0",
48
- "react-dom": "^17.0.2 || ^18.3.0"
53
+ "react": "^17.0.2 || ^18.3.0 || ^19.0.0",
54
+ "react-dom": "^17.0.2 || ^18.3.0 || ^19.0.0"
49
55
  },
50
56
  "publishConfig": {
51
57
  "access": "public"
@@ -63,5 +69,6 @@
63
69
  "**/*.scss",
64
70
  "dist/**/[A-Z]**/[A-Z]*.js",
65
71
  "dist/**/[A-Z]**/index.js"
66
- ]
72
+ ],
73
+ "type": "module"
67
74
  }