@mitodl/smoot-design 0.0.0-0a23f44
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.
- package/LICENSE +28 -0
- package/README.md +35 -0
- package/dist/bundles/aiDrawerManager.es.js +38832 -0
- package/dist/bundles/aiDrawerManager.es.js.map +1 -0
- package/dist/bundles/aiDrawerManager.umd.js +245 -0
- package/dist/bundles/aiDrawerManager.umd.js.map +1 -0
- package/dist/bundles/remoteTutorDrawer.es.js +38832 -0
- package/dist/bundles/remoteTutorDrawer.es.js.map +1 -0
- package/dist/bundles/remoteTutorDrawer.umd.js +245 -0
- package/dist/bundles/remoteTutorDrawer.umd.js.map +1 -0
- package/dist/cjs/VERSION.d.ts +12 -0
- package/dist/cjs/VERSION.js +15 -0
- package/dist/cjs/ai.d.ts +3 -0
- package/dist/cjs/ai.js +9 -0
- package/dist/cjs/bundles/AiDrawer/AiDrawer.d.ts +55 -0
- package/dist/cjs/bundles/AiDrawer/AiDrawer.js +262 -0
- package/dist/cjs/bundles/AiDrawer/AiDrawer.stories.d.ts +17 -0
- package/dist/cjs/bundles/AiDrawer/AiDrawer.stories.js +264 -0
- package/dist/cjs/bundles/AiDrawer/AiDrawerManager.d.ts +12 -0
- package/dist/cjs/bundles/AiDrawer/AiDrawerManager.js +51 -0
- package/dist/cjs/bundles/AiDrawer/AiDrawerManager.stories.d.ts +6 -0
- package/dist/cjs/bundles/AiDrawer/AiDrawerManager.stories.js +267 -0
- package/dist/cjs/bundles/AiDrawer/AiDrawerManager.test.d.ts +1 -0
- package/dist/cjs/bundles/AiDrawer/AiDrawerManager.test.js +245 -0
- package/dist/cjs/bundles/AiDrawer/FlashcardsScreen.d.ts +9 -0
- package/dist/cjs/bundles/AiDrawer/FlashcardsScreen.js +87 -0
- package/dist/cjs/bundles/aiDrawerManager.d.ts +6 -0
- package/dist/cjs/bundles/aiDrawerManager.js +44 -0
- package/dist/cjs/components/AiChat/AiChat.d.ts +5 -0
- package/dist/cjs/components/AiChat/AiChat.js +267 -0
- package/dist/cjs/components/AiChat/AiChat.stories.d.ts +17 -0
- package/dist/cjs/components/AiChat/AiChat.stories.js +194 -0
- package/dist/cjs/components/AiChat/AiChat.test.d.ts +1 -0
- package/dist/cjs/components/AiChat/AiChat.test.js +211 -0
- package/dist/cjs/components/AiChat/AiChatContext.d.ts +26 -0
- package/dist/cjs/components/AiChat/AiChatContext.js +106 -0
- package/dist/cjs/components/AiChat/AiChatContext.stories.d.ts +14 -0
- package/dist/cjs/components/AiChat/AiChatContext.stories.js +75 -0
- package/dist/cjs/components/AiChat/AiChatMarkdown.stories.d.ts +15 -0
- package/dist/cjs/components/AiChat/AiChatMarkdown.stories.js +282 -0
- package/dist/cjs/components/AiChat/ChatTitle.d.ts +8 -0
- package/dist/cjs/components/AiChat/ChatTitle.js +43 -0
- package/dist/cjs/components/AiChat/EllipsisIcon.d.ts +6 -0
- package/dist/cjs/components/AiChat/EllipsisIcon.js +17 -0
- package/dist/cjs/components/AiChat/EntryScreen.d.ts +11 -0
- package/dist/cjs/components/AiChat/EntryScreen.js +123 -0
- package/dist/cjs/components/AiChat/Markdown.d.ts +7 -0
- package/dist/cjs/components/AiChat/Markdown.js +14 -0
- package/dist/cjs/components/AiChat/TimLogo.d.ts +5 -0
- package/dist/cjs/components/AiChat/TimLogo.js +15 -0
- package/dist/cjs/components/AiChat/test-utils/api.d.ts +2 -0
- package/dist/cjs/components/AiChat/test-utils/api.js +164 -0
- package/dist/cjs/components/AiChat/types.d.ts +96 -0
- package/dist/cjs/components/AiChat/types.js +3 -0
- package/dist/cjs/components/AiChat/utils.d.ts +9 -0
- package/dist/cjs/components/AiChat/utils.js +41 -0
- package/dist/cjs/components/Alert/Alert.d.ts +15 -0
- package/dist/cjs/components/Alert/Alert.js +62 -0
- package/dist/cjs/components/Alert/Alert.stories.d.ts +8 -0
- package/dist/cjs/components/Alert/Alert.stories.js +53 -0
- package/dist/cjs/components/Button/ActionButton.d.ts +30 -0
- package/dist/cjs/components/Button/ActionButton.js +73 -0
- package/dist/cjs/components/Button/ActionButton.stories.d.ts +15 -0
- package/dist/cjs/components/Button/ActionButton.stories.js +113 -0
- package/dist/cjs/components/Button/Button.d.ts +58 -0
- package/dist/cjs/components/Button/Button.js +261 -0
- package/dist/cjs/components/Button/Button.stories.d.ts +18 -0
- package/dist/cjs/components/Button/Button.stories.js +148 -0
- package/dist/cjs/components/Button/Button.test.d.ts +1 -0
- package/dist/cjs/components/Button/Button.test.js +46 -0
- package/dist/cjs/components/Checkbox/Checkbox.d.ts +20 -0
- package/dist/cjs/components/Checkbox/Checkbox.js +85 -0
- package/dist/cjs/components/Checkbox/Checkbox.stories.d.ts +8 -0
- package/dist/cjs/components/Checkbox/Checkbox.stories.js +33 -0
- package/dist/cjs/components/CheckboxChoiceField/CheckboxChoiceField.d.ts +21 -0
- package/dist/cjs/components/CheckboxChoiceField/CheckboxChoiceField.js +43 -0
- package/dist/cjs/components/CheckboxChoiceField/CheckboxChoiceField.stories.d.ts +8 -0
- package/dist/cjs/components/CheckboxChoiceField/CheckboxChoiceField.stories.js +50 -0
- package/dist/cjs/components/CheckboxChoiceField/CheckboxChoiceField.test.d.ts +1 -0
- package/dist/cjs/components/CheckboxChoiceField/CheckboxChoiceField.test.js +52 -0
- package/dist/cjs/components/ImageAdapter/ImageAdapter.d.ts +23 -0
- package/dist/cjs/components/ImageAdapter/ImageAdapter.js +30 -0
- package/dist/cjs/components/Input/Input.d.ts +116 -0
- package/dist/cjs/components/Input/Input.js +237 -0
- package/dist/cjs/components/Input/Input.stories.d.ts +19 -0
- package/dist/cjs/components/Input/Input.stories.js +135 -0
- package/dist/cjs/components/Input/Input.test.d.ts +1 -0
- package/dist/cjs/components/Input/Input.test.js +32 -0
- package/dist/cjs/components/LinkAdapter/LinkAdapter.d.ts +23 -0
- package/dist/cjs/components/LinkAdapter/LinkAdapter.js +34 -0
- package/dist/cjs/components/RadioChoiceField/BooleanRadioChoiceField.stories.d.ts +6 -0
- package/dist/cjs/components/RadioChoiceField/BooleanRadioChoiceField.stories.js +47 -0
- package/dist/cjs/components/RadioChoiceField/RadioChoiceField.d.ts +45 -0
- package/dist/cjs/components/RadioChoiceField/RadioChoiceField.js +69 -0
- package/dist/cjs/components/RadioChoiceField/RadioChoiceField.stories.d.ts +6 -0
- package/dist/cjs/components/RadioChoiceField/RadioChoiceField.stories.js +55 -0
- package/dist/cjs/components/RadioChoiceField/RadioChoiceField.test.d.ts +1 -0
- package/dist/cjs/components/RadioChoiceField/RadioChoiceField.test.js +53 -0
- package/dist/cjs/components/ScrollSnap/ScrollSnap.d.ts +19 -0
- package/dist/cjs/components/ScrollSnap/ScrollSnap.js +59 -0
- package/dist/cjs/components/ScrollSnap/ScrollSnap.stories.d.ts +6 -0
- package/dist/cjs/components/ScrollSnap/ScrollSnap.stories.js +43 -0
- package/dist/cjs/components/ScrollSnap/useScrollSnap.d.ts +6 -0
- package/dist/cjs/components/ScrollSnap/useScrollSnap.js +36 -0
- package/dist/cjs/components/SrAnnouncer/SrAnnouncer.d.ts +25 -0
- package/dist/cjs/components/SrAnnouncer/SrAnnouncer.js +43 -0
- package/dist/cjs/components/SrAnnouncer/SrAnnouncer.stories.d.ts +6 -0
- package/dist/cjs/components/SrAnnouncer/SrAnnouncer.stories.js +44 -0
- package/dist/cjs/components/SrAnnouncer/SrAnnouncer.test.d.ts +1 -0
- package/dist/cjs/components/SrAnnouncer/SrAnnouncer.test.js +62 -0
- package/dist/cjs/components/TabButtons/TabButtonList.d.ts +25 -0
- package/dist/cjs/components/TabButtons/TabButtonList.js +97 -0
- package/dist/cjs/components/TabButtons/TabButtonList.stories.d.ts +24 -0
- package/dist/cjs/components/TabButtons/TabButtonList.stories.js +139 -0
- package/dist/cjs/components/TextField/TextField.d.ts +29 -0
- package/dist/cjs/components/TextField/TextField.js +33 -0
- package/dist/cjs/components/TextField/TextField.stories.d.ts +10 -0
- package/dist/cjs/components/TextField/TextField.stories.js +136 -0
- package/dist/cjs/components/TextField/TextField.test.d.ts +1 -0
- package/dist/cjs/components/TextField/TextField.test.js +77 -0
- package/dist/cjs/components/ThemeProvider/ThemeProvider.d.ts +21 -0
- package/dist/cjs/components/ThemeProvider/ThemeProvider.js +86 -0
- package/dist/cjs/components/ThemeProvider/ThemeProvider.stories.d.ts +63 -0
- package/dist/cjs/components/ThemeProvider/ThemeProvider.stories.js +102 -0
- package/dist/cjs/components/ThemeProvider/Typography.stories.d.ts +39 -0
- package/dist/cjs/components/ThemeProvider/Typography.stories.js +65 -0
- package/dist/cjs/components/ThemeProvider/breakpoints.d.ts +4 -0
- package/dist/cjs/components/ThemeProvider/breakpoints.js +19 -0
- package/dist/cjs/components/ThemeProvider/buttons.d.ts +7 -0
- package/dist/cjs/components/ThemeProvider/buttons.js +20 -0
- package/dist/cjs/components/ThemeProvider/chips.d.ts +3 -0
- package/dist/cjs/components/ThemeProvider/chips.js +154 -0
- package/dist/cjs/components/ThemeProvider/colors.d.ts +32 -0
- package/dist/cjs/components/ThemeProvider/colors.js +35 -0
- package/dist/cjs/components/ThemeProvider/typography.d.ts +18 -0
- package/dist/cjs/components/ThemeProvider/typography.js +173 -0
- package/dist/cjs/components/VisuallyHidden/VisuallyHidden.d.ts +24 -0
- package/dist/cjs/components/VisuallyHidden/VisuallyHidden.js +33 -0
- package/dist/cjs/components/VisuallyHidden/VisuallyHidden.stories.d.ts +6 -0
- package/dist/cjs/components/VisuallyHidden/VisuallyHidden.stories.js +13 -0
- package/dist/cjs/components/internal/FormHelpers/FormHelpers.d.ts +39 -0
- package/dist/cjs/components/internal/FormHelpers/FormHelpers.js +78 -0
- package/dist/cjs/components/internal/FormHelpers/FormHelpers.test.d.ts +1 -0
- package/dist/cjs/components/internal/FormHelpers/FormHelpers.test.js +93 -0
- package/dist/cjs/index.d.ts +25 -0
- package/dist/cjs/index.js +44 -0
- package/dist/cjs/jest-setup.d.ts +1 -0
- package/dist/cjs/jest-setup.js +18 -0
- package/dist/cjs/jsdom-extended.d.ts +6 -0
- package/dist/cjs/jsdom-extended.js +14 -0
- package/dist/cjs/story-utils/index.d.ts +6 -0
- package/dist/cjs/story-utils/index.js +17 -0
- package/dist/cjs/utils/composeRefs.d.ts +7 -0
- package/dist/cjs/utils/composeRefs.js +20 -0
- package/dist/cjs/utils/composeRefs.test.d.ts +1 -0
- package/dist/cjs/utils/composeRefs.test.js +19 -0
- package/dist/cjs/utils/retryingFetch.d.ts +19 -0
- package/dist/cjs/utils/retryingFetch.js +98 -0
- package/dist/cjs/utils/retryingFetch.test.d.ts +1 -0
- package/dist/cjs/utils/retryingFetch.test.js +48 -0
- package/dist/cjs/utils/useDevCheckStable.d.ts +8 -0
- package/dist/cjs/utils/useDevCheckStable.js +29 -0
- package/dist/cjs/utils/useInterval.d.ts +7 -0
- package/dist/cjs/utils/useInterval.js +25 -0
- package/dist/esm/VERSION.d.ts +12 -0
- package/dist/esm/VERSION.js +12 -0
- package/dist/esm/ai.d.ts +3 -0
- package/dist/esm/ai.js +2 -0
- package/dist/esm/bundles/AiDrawer/AiDrawer.d.ts +55 -0
- package/dist/esm/bundles/AiDrawer/AiDrawer.js +259 -0
- package/dist/esm/bundles/AiDrawer/AiDrawer.stories.d.ts +17 -0
- package/dist/esm/bundles/AiDrawer/AiDrawer.stories.js +261 -0
- package/dist/esm/bundles/AiDrawer/AiDrawerManager.d.ts +12 -0
- package/dist/esm/bundles/AiDrawer/AiDrawerManager.js +48 -0
- package/dist/esm/bundles/AiDrawer/AiDrawerManager.stories.d.ts +6 -0
- package/dist/esm/bundles/AiDrawer/AiDrawerManager.stories.js +264 -0
- package/dist/esm/bundles/AiDrawer/AiDrawerManager.test.d.ts +1 -0
- package/dist/esm/bundles/AiDrawer/AiDrawerManager.test.js +243 -0
- package/dist/esm/bundles/AiDrawer/FlashcardsScreen.d.ts +9 -0
- package/dist/esm/bundles/AiDrawer/FlashcardsScreen.js +83 -0
- package/dist/esm/bundles/aiDrawerManager.d.ts +6 -0
- package/dist/esm/bundles/aiDrawerManager.js +41 -0
- package/dist/esm/components/AiChat/AiChat.d.ts +5 -0
- package/dist/esm/components/AiChat/AiChat.js +263 -0
- package/dist/esm/components/AiChat/AiChat.stories.d.ts +17 -0
- package/dist/esm/components/AiChat/AiChat.stories.js +191 -0
- package/dist/esm/components/AiChat/AiChat.test.d.ts +1 -0
- package/dist/esm/components/AiChat/AiChat.test.js +209 -0
- package/dist/esm/components/AiChat/AiChatContext.d.ts +26 -0
- package/dist/esm/components/AiChat/AiChatContext.js +102 -0
- package/dist/esm/components/AiChat/AiChatContext.stories.d.ts +14 -0
- package/dist/esm/components/AiChat/AiChatContext.stories.js +72 -0
- package/dist/esm/components/AiChat/AiChatMarkdown.stories.d.ts +15 -0
- package/dist/esm/components/AiChat/AiChatMarkdown.stories.js +279 -0
- package/dist/esm/components/AiChat/ChatTitle.d.ts +8 -0
- package/dist/esm/components/AiChat/ChatTitle.js +40 -0
- package/dist/esm/components/AiChat/EllipsisIcon.d.ts +6 -0
- package/dist/esm/components/AiChat/EllipsisIcon.js +15 -0
- package/dist/esm/components/AiChat/EntryScreen.d.ts +11 -0
- package/dist/esm/components/AiChat/EntryScreen.js +120 -0
- package/dist/esm/components/AiChat/Markdown.d.ts +7 -0
- package/dist/esm/components/AiChat/Markdown.js +12 -0
- package/dist/esm/components/AiChat/TimLogo.d.ts +5 -0
- package/dist/esm/components/AiChat/TimLogo.js +13 -0
- package/dist/esm/components/AiChat/test-utils/api.d.ts +2 -0
- package/dist/esm/components/AiChat/test-utils/api.js +161 -0
- package/dist/esm/components/AiChat/types.d.ts +96 -0
- package/dist/esm/components/AiChat/types.js +2 -0
- package/dist/esm/components/AiChat/utils.d.ts +9 -0
- package/dist/esm/components/AiChat/utils.js +38 -0
- package/dist/esm/components/Alert/Alert.d.ts +15 -0
- package/dist/esm/components/Alert/Alert.js +59 -0
- package/dist/esm/components/Alert/Alert.stories.d.ts +8 -0
- package/dist/esm/components/Alert/Alert.stories.js +50 -0
- package/dist/esm/components/Button/ActionButton.d.ts +30 -0
- package/dist/esm/components/Button/ActionButton.js +68 -0
- package/dist/esm/components/Button/ActionButton.stories.d.ts +15 -0
- package/dist/esm/components/Button/ActionButton.stories.js +110 -0
- package/dist/esm/components/Button/Button.d.ts +58 -0
- package/dist/esm/components/Button/Button.js +252 -0
- package/dist/esm/components/Button/Button.stories.d.ts +18 -0
- package/dist/esm/components/Button/Button.stories.js +145 -0
- package/dist/esm/components/Button/Button.test.d.ts +1 -0
- package/dist/esm/components/Button/Button.test.js +44 -0
- package/dist/esm/components/Checkbox/Checkbox.d.ts +20 -0
- package/dist/esm/components/Checkbox/Checkbox.js +81 -0
- package/dist/esm/components/Checkbox/Checkbox.stories.d.ts +8 -0
- package/dist/esm/components/Checkbox/Checkbox.stories.js +30 -0
- package/dist/esm/components/CheckboxChoiceField/CheckboxChoiceField.d.ts +21 -0
- package/dist/esm/components/CheckboxChoiceField/CheckboxChoiceField.js +40 -0
- package/dist/esm/components/CheckboxChoiceField/CheckboxChoiceField.stories.d.ts +8 -0
- package/dist/esm/components/CheckboxChoiceField/CheckboxChoiceField.stories.js +47 -0
- package/dist/esm/components/CheckboxChoiceField/CheckboxChoiceField.test.d.ts +1 -0
- package/dist/esm/components/CheckboxChoiceField/CheckboxChoiceField.test.js +50 -0
- package/dist/esm/components/ImageAdapter/ImageAdapter.d.ts +23 -0
- package/dist/esm/components/ImageAdapter/ImageAdapter.js +27 -0
- package/dist/esm/components/Input/Input.d.ts +116 -0
- package/dist/esm/components/Input/Input.js +232 -0
- package/dist/esm/components/Input/Input.stories.d.ts +19 -0
- package/dist/esm/components/Input/Input.stories.js +132 -0
- package/dist/esm/components/Input/Input.test.d.ts +1 -0
- package/dist/esm/components/Input/Input.test.js +30 -0
- package/dist/esm/components/LinkAdapter/LinkAdapter.d.ts +23 -0
- package/dist/esm/components/LinkAdapter/LinkAdapter.js +31 -0
- package/dist/esm/components/RadioChoiceField/BooleanRadioChoiceField.stories.d.ts +6 -0
- package/dist/esm/components/RadioChoiceField/BooleanRadioChoiceField.stories.js +44 -0
- package/dist/esm/components/RadioChoiceField/RadioChoiceField.d.ts +45 -0
- package/dist/esm/components/RadioChoiceField/RadioChoiceField.js +65 -0
- package/dist/esm/components/RadioChoiceField/RadioChoiceField.stories.d.ts +6 -0
- package/dist/esm/components/RadioChoiceField/RadioChoiceField.stories.js +52 -0
- package/dist/esm/components/RadioChoiceField/RadioChoiceField.test.d.ts +1 -0
- package/dist/esm/components/RadioChoiceField/RadioChoiceField.test.js +51 -0
- package/dist/esm/components/ScrollSnap/ScrollSnap.d.ts +19 -0
- package/dist/esm/components/ScrollSnap/ScrollSnap.js +56 -0
- package/dist/esm/components/ScrollSnap/ScrollSnap.stories.d.ts +6 -0
- package/dist/esm/components/ScrollSnap/ScrollSnap.stories.js +40 -0
- package/dist/esm/components/ScrollSnap/useScrollSnap.d.ts +6 -0
- package/dist/esm/components/ScrollSnap/useScrollSnap.js +33 -0
- package/dist/esm/components/SrAnnouncer/SrAnnouncer.d.ts +25 -0
- package/dist/esm/components/SrAnnouncer/SrAnnouncer.js +40 -0
- package/dist/esm/components/SrAnnouncer/SrAnnouncer.stories.d.ts +6 -0
- package/dist/esm/components/SrAnnouncer/SrAnnouncer.stories.js +41 -0
- package/dist/esm/components/SrAnnouncer/SrAnnouncer.test.d.ts +1 -0
- package/dist/esm/components/SrAnnouncer/SrAnnouncer.test.js +60 -0
- package/dist/esm/components/TabButtons/TabButtonList.d.ts +25 -0
- package/dist/esm/components/TabButtons/TabButtonList.js +92 -0
- package/dist/esm/components/TabButtons/TabButtonList.stories.d.ts +24 -0
- package/dist/esm/components/TabButtons/TabButtonList.stories.js +136 -0
- package/dist/esm/components/TextField/TextField.d.ts +29 -0
- package/dist/esm/components/TextField/TextField.js +30 -0
- package/dist/esm/components/TextField/TextField.stories.d.ts +10 -0
- package/dist/esm/components/TextField/TextField.stories.js +133 -0
- package/dist/esm/components/TextField/TextField.test.d.ts +1 -0
- package/dist/esm/components/TextField/TextField.test.js +75 -0
- package/dist/esm/components/ThemeProvider/ThemeProvider.d.ts +21 -0
- package/dist/esm/components/ThemeProvider/ThemeProvider.js +82 -0
- package/dist/esm/components/ThemeProvider/ThemeProvider.stories.d.ts +63 -0
- package/dist/esm/components/ThemeProvider/ThemeProvider.stories.js +99 -0
- package/dist/esm/components/ThemeProvider/Typography.stories.d.ts +39 -0
- package/dist/esm/components/ThemeProvider/Typography.stories.js +62 -0
- package/dist/esm/components/ThemeProvider/breakpoints.d.ts +4 -0
- package/dist/esm/components/ThemeProvider/breakpoints.js +15 -0
- package/dist/esm/components/ThemeProvider/buttons.d.ts +7 -0
- package/dist/esm/components/ThemeProvider/buttons.js +17 -0
- package/dist/esm/components/ThemeProvider/chips.d.ts +3 -0
- package/dist/esm/components/ThemeProvider/chips.js +151 -0
- package/dist/esm/components/ThemeProvider/colors.d.ts +32 -0
- package/dist/esm/components/ThemeProvider/colors.js +32 -0
- package/dist/esm/components/ThemeProvider/typography.d.ts +18 -0
- package/dist/esm/components/ThemeProvider/typography.js +167 -0
- package/dist/esm/components/VisuallyHidden/VisuallyHidden.d.ts +24 -0
- package/dist/esm/components/VisuallyHidden/VisuallyHidden.js +30 -0
- package/dist/esm/components/VisuallyHidden/VisuallyHidden.stories.d.ts +6 -0
- package/dist/esm/components/VisuallyHidden/VisuallyHidden.stories.js +10 -0
- package/dist/esm/components/internal/FormHelpers/FormHelpers.d.ts +39 -0
- package/dist/esm/components/internal/FormHelpers/FormHelpers.js +73 -0
- package/dist/esm/components/internal/FormHelpers/FormHelpers.test.d.ts +1 -0
- package/dist/esm/components/internal/FormHelpers/FormHelpers.test.js +91 -0
- package/dist/esm/index.d.ts +25 -0
- package/dist/esm/index.js +16 -0
- package/dist/esm/jest-setup.d.ts +1 -0
- package/dist/esm/jest-setup.js +16 -0
- package/dist/esm/jsdom-extended.d.ts +6 -0
- package/dist/esm/jsdom-extended.js +12 -0
- package/dist/esm/story-utils/index.d.ts +6 -0
- package/dist/esm/story-utils/index.js +13 -0
- package/dist/esm/utils/composeRefs.d.ts +7 -0
- package/dist/esm/utils/composeRefs.js +17 -0
- package/dist/esm/utils/composeRefs.test.d.ts +1 -0
- package/dist/esm/utils/composeRefs.test.js +17 -0
- package/dist/esm/utils/retryingFetch.d.ts +19 -0
- package/dist/esm/utils/retryingFetch.js +96 -0
- package/dist/esm/utils/retryingFetch.test.d.ts +1 -0
- package/dist/esm/utils/retryingFetch.test.js +46 -0
- package/dist/esm/utils/useDevCheckStable.d.ts +8 -0
- package/dist/esm/utils/useDevCheckStable.js +26 -0
- package/dist/esm/utils/useInterval.d.ts +7 -0
- package/dist/esm/utils/useInterval.js +22 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/type-augmentation/TypescriptDocs.mdx +17 -0
- package/dist/type-augmentation/imports.d.ts +3 -0
- package/dist/type-augmentation/index.d.ts +3 -0
- package/dist/type-augmentation/theme.d.ts +105 -0
- package/dist/type-augmentation/typography.d.ts +54 -0
- package/package.json +159 -0
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LinkAdapterOverride = void 0;
|
|
4
|
+
const React = require("react");
|
|
5
|
+
const ThemeProvider_1 = require("./ThemeProvider");
|
|
6
|
+
const Button_1 = require("../Button/Button");
|
|
7
|
+
const CustomLinkAdapater = React.forwardRef((props, ref) => (
|
|
8
|
+
// eslint-disable-next-line jsx-a11y/anchor-has-content, jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions
|
|
9
|
+
React.createElement("a", Object.assign({ ref: ref, onClick: (e) => {
|
|
10
|
+
e.preventDefault();
|
|
11
|
+
alert(`Custom link to: ${e.currentTarget.href}. (Preventing Navigation.)`);
|
|
12
|
+
}, "data-custom": "theme-default" }, props))));
|
|
13
|
+
CustomLinkAdapater.displayName = "CustomLinkAdapter";
|
|
14
|
+
const customTheme = (0, ThemeProvider_1.createTheme)({
|
|
15
|
+
custom: {
|
|
16
|
+
LinkAdapter: CustomLinkAdapater,
|
|
17
|
+
},
|
|
18
|
+
});
|
|
19
|
+
const meta = {
|
|
20
|
+
title: "smoot-design/ThemeProvider",
|
|
21
|
+
component: ThemeProvider_1.ThemeProvider,
|
|
22
|
+
argTypes: {
|
|
23
|
+
theme: {
|
|
24
|
+
options: ["Default", "Custom Link Adapter"],
|
|
25
|
+
mapping: {
|
|
26
|
+
Default: undefined,
|
|
27
|
+
"Custom Link Adapter": customTheme,
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
children: {
|
|
31
|
+
table: { disable: true },
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
id: "smoot-design/ThemeProvider",
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* `ThemeProvider` must wrap all components from `smoot`-design, and allows
|
|
38
|
+
* styling any component via [`styled`](https://emotion.sh/docs/styled).
|
|
39
|
+
*
|
|
40
|
+
* In general, most useful theme properties are exposed on `theme.custom`. (Root
|
|
41
|
+
* `theme` properties are used internally by MUI.) See typescript definitions
|
|
42
|
+
* for more information about `theme.custom`.
|
|
43
|
+
*
|
|
44
|
+
* ## Further Customized Theme with `createTheme`
|
|
45
|
+
* Consuming applications can customize `smoot-design`'s default theme by creating
|
|
46
|
+
* a theme instance with `createTheme` and passing it to `ThemeProvider`:
|
|
47
|
+
*
|
|
48
|
+
* ```tsx
|
|
49
|
+
* const customTheme = createTheme({...})
|
|
50
|
+
*
|
|
51
|
+
* <ThemeProvider theme={customTheme}>
|
|
52
|
+
* {children}
|
|
53
|
+
* </ThemeProvider>
|
|
54
|
+
* ```
|
|
55
|
+
*
|
|
56
|
+
* ### Custom Link Adapter
|
|
57
|
+
* One particularly notable property is `theme.custom.LinkAdapter`. Some `smoot-design`
|
|
58
|
+
* components render links. These links are native anchor tags by default. In
|
|
59
|
+
* order to use these components with custom routing libraries (e.g. `react-router`
|
|
60
|
+
* or `next/link`), you can provide a custom link adapter.
|
|
61
|
+
*
|
|
62
|
+
* Components such as `ButtonLink` will:
|
|
63
|
+
* - use `Component` on `ButtonLink` if specified (`<ButtonLink Component={Link} />`)
|
|
64
|
+
* - else, use `theme.custom.LinkAdapter` if specified,
|
|
65
|
+
* - else, use `a` tag.
|
|
66
|
+
*
|
|
67
|
+
* For example, to use `next/link` as the default link implementation:
|
|
68
|
+
*
|
|
69
|
+
* ```tsx
|
|
70
|
+
* import Link from "next/link"
|
|
71
|
+
* const theme = createTheme({ LinkAdapter: Link })
|
|
72
|
+
* ```
|
|
73
|
+
*
|
|
74
|
+
* You can use [module augmentation](https://www.typescriptlang.org/docs/handbook/declaration-merging.html#module-augmentation)
|
|
75
|
+
* to add the custom props to relevant components. For example, to expose
|
|
76
|
+
* `next/link`'s `scroll` prop on `ButtonLink`:
|
|
77
|
+
*
|
|
78
|
+
* ```ts
|
|
79
|
+
* // Add scroll prop to all components using LinkAdapter
|
|
80
|
+
* declare module "@mitodl/smoot-design" {
|
|
81
|
+
* interface LinkAdapterPropsOverrides {
|
|
82
|
+
* scroll?: boolean
|
|
83
|
+
* }
|
|
84
|
+
* }
|
|
85
|
+
* ```
|
|
86
|
+
*
|
|
87
|
+
* ### ImageAdapter
|
|
88
|
+
* Similarly, `theme.custom.ImageAdapter` can be used to customize the image
|
|
89
|
+
* component used by `smoot-design`. By default, `ImageAdapter` uses a simple `img`
|
|
90
|
+
* tag. Interface `ImageAdapterPropsOverrides` is similarly available for
|
|
91
|
+
* augmentation.
|
|
92
|
+
*/
|
|
93
|
+
exports.LinkAdapterOverride = {
|
|
94
|
+
args: {
|
|
95
|
+
theme: customTheme,
|
|
96
|
+
},
|
|
97
|
+
render: (args) => {
|
|
98
|
+
return (React.createElement(ThemeProvider_1.ThemeProvider, { theme: args.theme },
|
|
99
|
+
React.createElement(Button_1.ButtonLink, { href: "https://mit.edu" }, args.theme ? "Custom theme in use" : "Default theme in use")));
|
|
100
|
+
},
|
|
101
|
+
};
|
|
102
|
+
exports.default = meta;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from "@storybook/react";
|
|
2
|
+
import Typography from "@mui/material/Typography";
|
|
3
|
+
/**
|
|
4
|
+
* Typography styles can be controlled via the `theme.typography` object when
|
|
5
|
+
* using the `styled` helper or via the `<Tyopgraphy variant="..." />` component.
|
|
6
|
+
*
|
|
7
|
+
* For the `Typography` component, see [MUI's documentation](https://mui.com/material-ui/react-typography/).
|
|
8
|
+
*
|
|
9
|
+
* ```tsx
|
|
10
|
+
* const MyHeading = styled(({ theme }) => ({
|
|
11
|
+
* ...theme.typography.h2,
|
|
12
|
+
* [theme.breakpoints.down("sm")]: {
|
|
13
|
+
* ...theme.typography.h3,
|
|
14
|
+
* },
|
|
15
|
+
* }))
|
|
16
|
+
*
|
|
17
|
+
* // or:
|
|
18
|
+
* <Typography component="h1" typography={
|
|
19
|
+
* {
|
|
20
|
+
* xs: "h3", // above xs
|
|
21
|
+
* sm: "h2" // above sm
|
|
22
|
+
* }
|
|
23
|
+
* }>
|
|
24
|
+
* Hello, world!
|
|
25
|
+
* </Typography>
|
|
26
|
+
* ```
|
|
27
|
+
*
|
|
28
|
+
*/
|
|
29
|
+
declare const meta: Meta<typeof Typography>;
|
|
30
|
+
export default meta;
|
|
31
|
+
type Story = StoryObj<typeof Typography>;
|
|
32
|
+
/**
|
|
33
|
+
* Typography variants are shown below.
|
|
34
|
+
*
|
|
35
|
+
* **Note:** The typography variant is not related to the HTML element used. A
|
|
36
|
+
* `variant="h1"` component does not automatically render an `<h1>` element.
|
|
37
|
+
*
|
|
38
|
+
*/
|
|
39
|
+
export declare const Variants: Story;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Variants = void 0;
|
|
4
|
+
const React = require("react");
|
|
5
|
+
const Stack_1 = require("@mui/material/Stack");
|
|
6
|
+
const Typography_1 = require("@mui/material/Typography");
|
|
7
|
+
/**
|
|
8
|
+
* Typography styles can be controlled via the `theme.typography` object when
|
|
9
|
+
* using the `styled` helper or via the `<Tyopgraphy variant="..." />` component.
|
|
10
|
+
*
|
|
11
|
+
* For the `Typography` component, see [MUI's documentation](https://mui.com/material-ui/react-typography/).
|
|
12
|
+
*
|
|
13
|
+
* ```tsx
|
|
14
|
+
* const MyHeading = styled(({ theme }) => ({
|
|
15
|
+
* ...theme.typography.h2,
|
|
16
|
+
* [theme.breakpoints.down("sm")]: {
|
|
17
|
+
* ...theme.typography.h3,
|
|
18
|
+
* },
|
|
19
|
+
* }))
|
|
20
|
+
*
|
|
21
|
+
* // or:
|
|
22
|
+
* <Typography component="h1" typography={
|
|
23
|
+
* {
|
|
24
|
+
* xs: "h3", // above xs
|
|
25
|
+
* sm: "h2" // above sm
|
|
26
|
+
* }
|
|
27
|
+
* }>
|
|
28
|
+
* Hello, world!
|
|
29
|
+
* </Typography>
|
|
30
|
+
* ```
|
|
31
|
+
*
|
|
32
|
+
*/
|
|
33
|
+
const meta = {
|
|
34
|
+
title: "smoot-design/Typography",
|
|
35
|
+
component: Typography_1.default,
|
|
36
|
+
};
|
|
37
|
+
exports.default = meta;
|
|
38
|
+
const text = "The quick brown fox jumps over the lazy dog. ".repeat(10);
|
|
39
|
+
const INSTANCES = [
|
|
40
|
+
{ variant: "h1", children: "Heading level 1" },
|
|
41
|
+
{ variant: "h2", children: "Heading level 2" },
|
|
42
|
+
{ variant: "h3", children: "Heading level 3" },
|
|
43
|
+
{ variant: "h4", children: "Heading level 4" },
|
|
44
|
+
{ variant: "h5", children: "Heading level 5" },
|
|
45
|
+
{ variant: "subtitle1", children: "Subtitle level 1" },
|
|
46
|
+
{ variant: "subtitle2", children: "Subtitle level 2" },
|
|
47
|
+
{ variant: "subtitle3", children: "Subtitle level 3" },
|
|
48
|
+
{ variant: "subtitle4", children: "Subtitle level 4" },
|
|
49
|
+
{ variant: "body1", children: `body level 1... ${text}` },
|
|
50
|
+
{ variant: "body2", children: `body level 2... ${text}` },
|
|
51
|
+
{ variant: "body3", children: `body level 3... ${text}` },
|
|
52
|
+
{ variant: "body4", children: `body level 4... ${text}` },
|
|
53
|
+
];
|
|
54
|
+
/**
|
|
55
|
+
* Typography variants are shown below.
|
|
56
|
+
*
|
|
57
|
+
* **Note:** The typography variant is not related to the HTML element used. A
|
|
58
|
+
* `variant="h1"` component does not automatically render an `<h1>` element.
|
|
59
|
+
*
|
|
60
|
+
*/
|
|
61
|
+
exports.Variants = {
|
|
62
|
+
render: () => {
|
|
63
|
+
return (React.createElement(Stack_1.default, { gap: "1rem" }, INSTANCES.map((props) => (React.createElement(Typography_1.default, Object.assign({ key: props.variant }, props))))));
|
|
64
|
+
},
|
|
65
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.breakpoints = exports.BREAKPOINT_VALUES = void 0;
|
|
4
|
+
const styles_1 = require("@mui/material/styles");
|
|
5
|
+
const BREAKPOINT_VALUES = {
|
|
6
|
+
values: {
|
|
7
|
+
xs: 0,
|
|
8
|
+
sm: 600,
|
|
9
|
+
md: 900,
|
|
10
|
+
lg: 1280,
|
|
11
|
+
xl: 1536,
|
|
12
|
+
},
|
|
13
|
+
};
|
|
14
|
+
exports.BREAKPOINT_VALUES = BREAKPOINT_VALUES;
|
|
15
|
+
const { breakpoints } = (0, styles_1.createTheme)({
|
|
16
|
+
breakpoints: BREAKPOINT_VALUES,
|
|
17
|
+
custom: {},
|
|
18
|
+
});
|
|
19
|
+
exports.breakpoints = breakpoints;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ThemeOptions } from "@mui/material/styles";
|
|
2
|
+
/**
|
|
3
|
+
* We don't use MUI's button directly, but ButtonBase does get used internally
|
|
4
|
+
* by some MUI components, so we override a few styles.
|
|
5
|
+
*/
|
|
6
|
+
declare const buttonBaseComponent: NonNullable<ThemeOptions["components"]>["MuiButtonBase"];
|
|
7
|
+
export { buttonBaseComponent };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.buttonBaseComponent = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* We don't use MUI's button directly, but ButtonBase does get used internally
|
|
6
|
+
* by some MUI components, so we override a few styles.
|
|
7
|
+
*/
|
|
8
|
+
const buttonBaseComponent = {
|
|
9
|
+
defaultProps: {
|
|
10
|
+
disableRipple: true,
|
|
11
|
+
},
|
|
12
|
+
styleOverrides: {
|
|
13
|
+
root: {
|
|
14
|
+
":focus-visible": {
|
|
15
|
+
outline: "revert",
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
};
|
|
20
|
+
exports.buttonBaseComponent = buttonBaseComponent;
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.chipComponent = void 0;
|
|
4
|
+
const React = require("react");
|
|
5
|
+
const colors_1 = require("./colors");
|
|
6
|
+
const react_1 = require("@remixicon/react");
|
|
7
|
+
const chipComponent = {
|
|
8
|
+
defaultProps: {
|
|
9
|
+
size: "medium",
|
|
10
|
+
color: "default",
|
|
11
|
+
variant: "outlined",
|
|
12
|
+
deleteIcon: React.createElement(react_1.RiCloseLine, { "aria-hidden": "true" }),
|
|
13
|
+
},
|
|
14
|
+
styleOverrides: {
|
|
15
|
+
root: {
|
|
16
|
+
borderRadius: "100vh",
|
|
17
|
+
borderWidth: "1px",
|
|
18
|
+
},
|
|
19
|
+
deleteIcon: {
|
|
20
|
+
"&:hover": {
|
|
21
|
+
color: "inherit",
|
|
22
|
+
},
|
|
23
|
+
"&.MuiChip-deleteIconLarge": {
|
|
24
|
+
width: "16px",
|
|
25
|
+
height: "16px",
|
|
26
|
+
},
|
|
27
|
+
"&.MuiChip-deleteIconMedium": {
|
|
28
|
+
width: "14px",
|
|
29
|
+
height: "14px",
|
|
30
|
+
},
|
|
31
|
+
margin: "0 -2px 0 8px",
|
|
32
|
+
color: "inherit",
|
|
33
|
+
},
|
|
34
|
+
icon: {
|
|
35
|
+
margin: "0 8px 0 -2px",
|
|
36
|
+
color: "inherit",
|
|
37
|
+
"&.MuiChip-iconLarge": {
|
|
38
|
+
width: "16px",
|
|
39
|
+
height: "16px",
|
|
40
|
+
},
|
|
41
|
+
"&.MuiChip-iconMedium": {
|
|
42
|
+
width: "14px",
|
|
43
|
+
height: "14px",
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
},
|
|
47
|
+
variants: [
|
|
48
|
+
{
|
|
49
|
+
props: { size: "medium" },
|
|
50
|
+
style: ({ theme }) => (Object.assign(Object.assign({}, theme.typography.body3), { boxSizing: "border-box", height: "24px", paddingRight: "12px", paddingLeft: "12px", ".MuiChip-label": {
|
|
51
|
+
paddingLeft: "0px",
|
|
52
|
+
paddingRight: "0px",
|
|
53
|
+
} })),
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
props: { size: "large" },
|
|
57
|
+
style: ({ theme }) => (Object.assign(Object.assign({}, theme.typography.body2), { height: "32px", paddingLeft: "16px", paddingRight: "16px", ".MuiChip-label": {
|
|
58
|
+
paddingLeft: "0px",
|
|
59
|
+
paddingRight: "0px",
|
|
60
|
+
} })),
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
props: { variant: "outlined" },
|
|
64
|
+
style: {
|
|
65
|
+
borderColor: colors_1.colors.silverGrayLight,
|
|
66
|
+
color: colors_1.colors.darkGray1,
|
|
67
|
+
"&.Mui-focusVisible": {
|
|
68
|
+
backgroundColor: "transparent",
|
|
69
|
+
},
|
|
70
|
+
"&.MuiChip-clickable:hover, &.MuiChip-deletable:hover": {
|
|
71
|
+
color: colors_1.colors.darkGray1,
|
|
72
|
+
borderColor: colors_1.colors.silverGrayDark,
|
|
73
|
+
backgroundColor: "transparent", // mui has a default background color for hover
|
|
74
|
+
},
|
|
75
|
+
},
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
props: { variant: "outlinedWhite" },
|
|
79
|
+
style: {
|
|
80
|
+
backgroundColor: "white",
|
|
81
|
+
border: "1px solid",
|
|
82
|
+
borderColor: colors_1.colors.silverGrayLight,
|
|
83
|
+
color: colors_1.colors.darkGray1,
|
|
84
|
+
"&.Mui-focusVisible": {
|
|
85
|
+
backgroundColor: "white",
|
|
86
|
+
},
|
|
87
|
+
"&.MuiChip-clickable:hover, &.MuiChip-deletable:hover": {
|
|
88
|
+
color: colors_1.colors.darkGray1,
|
|
89
|
+
borderColor: colors_1.colors.silverGrayDark,
|
|
90
|
+
backgroundColor: "white", // mui has a default background color hover
|
|
91
|
+
},
|
|
92
|
+
},
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
props: { variant: "gray" },
|
|
96
|
+
style: {
|
|
97
|
+
backgroundColor: colors_1.colors.lightGray2,
|
|
98
|
+
border: "none",
|
|
99
|
+
color: colors_1.colors.darkGray2,
|
|
100
|
+
"&.Mui-focusVisible": {
|
|
101
|
+
backgroundColor: colors_1.colors.lightGray2,
|
|
102
|
+
},
|
|
103
|
+
"&.MuiChip-clickable:hover, &.MuiChip-deletable:hover": {
|
|
104
|
+
color: colors_1.colors.darkGray1,
|
|
105
|
+
backgroundColor: colors_1.colors.silverGrayLight,
|
|
106
|
+
},
|
|
107
|
+
},
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
props: { variant: "dark" },
|
|
111
|
+
style: {
|
|
112
|
+
backgroundColor: colors_1.colors.silverGrayDark,
|
|
113
|
+
border: "none",
|
|
114
|
+
color: colors_1.colors.white,
|
|
115
|
+
"&.Mui-focusVisible": {
|
|
116
|
+
backgroundColor: colors_1.colors.silverGrayDark,
|
|
117
|
+
},
|
|
118
|
+
"&.MuiChip-clickable:hover, &.MuiChip-deletable:hover": {
|
|
119
|
+
backgroundColor: colors_1.colors.darkGray1,
|
|
120
|
+
},
|
|
121
|
+
},
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
props: { variant: "darker" },
|
|
125
|
+
style: {
|
|
126
|
+
backgroundColor: colors_1.colors.darkGray2,
|
|
127
|
+
border: `1px solid ${colors_1.colors.darkGray1}`,
|
|
128
|
+
color: colors_1.colors.white,
|
|
129
|
+
"&.Mui-focusVisible": {
|
|
130
|
+
backgroundColor: colors_1.colors.darkGray2,
|
|
131
|
+
},
|
|
132
|
+
"&.MuiChip-clickable:hover, &.MuiChip-deletable:hover": {
|
|
133
|
+
backgroundColor: colors_1.colors.black,
|
|
134
|
+
border: `1px solid ${colors_1.colors.silverGray}`,
|
|
135
|
+
},
|
|
136
|
+
},
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
props: { variant: "filled" },
|
|
140
|
+
style: {
|
|
141
|
+
backgroundColor: colors_1.colors.mitRed,
|
|
142
|
+
border: "none",
|
|
143
|
+
color: colors_1.colors.white,
|
|
144
|
+
"&.Mui-focusVisible": {
|
|
145
|
+
backgroundColor: colors_1.colors.mitRed,
|
|
146
|
+
},
|
|
147
|
+
"&.MuiChip-clickable:hover, &.MuiChip-deletable:hover": {
|
|
148
|
+
backgroundColor: colors_1.colors.red,
|
|
149
|
+
},
|
|
150
|
+
},
|
|
151
|
+
},
|
|
152
|
+
],
|
|
153
|
+
};
|
|
154
|
+
exports.chipComponent = chipComponent;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
declare const colors: {
|
|
2
|
+
mitRed: string;
|
|
3
|
+
brightRed: string;
|
|
4
|
+
black: string;
|
|
5
|
+
white: string;
|
|
6
|
+
darkGray2: string;
|
|
7
|
+
darkGray1: string;
|
|
8
|
+
silverGrayDark: string;
|
|
9
|
+
silverGray: string;
|
|
10
|
+
silverGrayLight: string;
|
|
11
|
+
lightGray2: string;
|
|
12
|
+
lightGray1: string;
|
|
13
|
+
navGray: string;
|
|
14
|
+
darkPink: string;
|
|
15
|
+
pink: string;
|
|
16
|
+
lightPink: string;
|
|
17
|
+
darkPurple: string;
|
|
18
|
+
purple: string;
|
|
19
|
+
lightPurple: string;
|
|
20
|
+
darkBlue: string;
|
|
21
|
+
blue: string;
|
|
22
|
+
lightBlue: string;
|
|
23
|
+
darkGreen: string;
|
|
24
|
+
green: string;
|
|
25
|
+
lightGreen: string;
|
|
26
|
+
darkRed: string;
|
|
27
|
+
red: string;
|
|
28
|
+
lightRed: string;
|
|
29
|
+
orange: string;
|
|
30
|
+
yellow: string;
|
|
31
|
+
};
|
|
32
|
+
export { colors };
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.colors = void 0;
|
|
4
|
+
const colors = {
|
|
5
|
+
mitRed: "#750014",
|
|
6
|
+
brightRed: "#FF1423",
|
|
7
|
+
black: "#000000",
|
|
8
|
+
white: "#FFFFFF",
|
|
9
|
+
darkGray2: "#212326",
|
|
10
|
+
darkGray1: "#40464C",
|
|
11
|
+
silverGrayDark: "#626A73",
|
|
12
|
+
silverGray: "#8B959E",
|
|
13
|
+
silverGrayLight: "#B8C2CC",
|
|
14
|
+
lightGray2: "#DDE1E6",
|
|
15
|
+
lightGray1: "#F3F4F8",
|
|
16
|
+
navGray: "#303337",
|
|
17
|
+
darkPink: "#750062",
|
|
18
|
+
pink: "#FF14F0",
|
|
19
|
+
lightPink: "#FFB3FF",
|
|
20
|
+
darkPurple: "#3E006B",
|
|
21
|
+
purple: "#93F",
|
|
22
|
+
lightPurple: "#BFB3FF",
|
|
23
|
+
darkBlue: "#002896",
|
|
24
|
+
blue: "#1966FF",
|
|
25
|
+
lightBlue: "#99EBFF",
|
|
26
|
+
darkGreen: "#004D1A",
|
|
27
|
+
green: "#00AD00",
|
|
28
|
+
lightGreen: "#AF3",
|
|
29
|
+
darkRed: "#83192A",
|
|
30
|
+
red: "#A31F34",
|
|
31
|
+
lightRed: "#D02E44",
|
|
32
|
+
orange: "#FAB005",
|
|
33
|
+
yellow: "#FFEB00",
|
|
34
|
+
};
|
|
35
|
+
exports.colors = colors;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { ThemeOptions } from "@mui/material/styles";
|
|
2
|
+
/**
|
|
3
|
+
* This function converts from pixels to rems, assuming a base font size of 16px
|
|
4
|
+
* (which is the default for most modern browsers).
|
|
5
|
+
*
|
|
6
|
+
* Using this function, we can:
|
|
7
|
+
* - match desgins that are in pixels for default font size
|
|
8
|
+
* - allow users to scale the font size up or down by chaning base font size.
|
|
9
|
+
*
|
|
10
|
+
* For example, a Chrome user might specify a base font size of 20px ("large")
|
|
11
|
+
* in their browser settings. Then, `pxToRem(32)` would actually be 40px for
|
|
12
|
+
* that user.
|
|
13
|
+
*/
|
|
14
|
+
declare const pxToRem: (px: number) => string;
|
|
15
|
+
declare const globalSettings: ThemeOptions["typography"];
|
|
16
|
+
declare const component: NonNullable<ThemeOptions["components"]>["MuiTypography"];
|
|
17
|
+
declare const typography: import("@mui/material/styles").TypographyVariants;
|
|
18
|
+
export { globalSettings, component, pxToRem, typography };
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.typography = exports.pxToRem = exports.component = exports.globalSettings = void 0;
|
|
4
|
+
const styles_1 = require("@mui/material/styles");
|
|
5
|
+
const fontWeights = {
|
|
6
|
+
text: {
|
|
7
|
+
roman: 400,
|
|
8
|
+
medium: 500,
|
|
9
|
+
bold: 700,
|
|
10
|
+
},
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* This function converts from pixels to rems, assuming a base font size of 16px
|
|
14
|
+
* (which is the default for most modern browsers).
|
|
15
|
+
*
|
|
16
|
+
* Using this function, we can:
|
|
17
|
+
* - match desgins that are in pixels for default font size
|
|
18
|
+
* - allow users to scale the font size up or down by chaning base font size.
|
|
19
|
+
*
|
|
20
|
+
* For example, a Chrome user might specify a base font size of 20px ("large")
|
|
21
|
+
* in their browser settings. Then, `pxToRem(32)` would actually be 40px for
|
|
22
|
+
* that user.
|
|
23
|
+
*/
|
|
24
|
+
const pxToRem = (px) => `${px / 16}rem`;
|
|
25
|
+
exports.pxToRem = pxToRem;
|
|
26
|
+
const globalSettings = {
|
|
27
|
+
// Note: Figma calls this "Neue Haas Grotesk Text", but that is incorrect based on Adobe's font family.
|
|
28
|
+
fontFamily: "neue-haas-grotesk-text, sans-serif",
|
|
29
|
+
fontWeightLight: fontWeights.text.roman,
|
|
30
|
+
fontWeightRegular: fontWeights.text.roman,
|
|
31
|
+
fontWeightMedium: fontWeights.text.medium,
|
|
32
|
+
fontWeightBold: fontWeights.text.bold,
|
|
33
|
+
h1: {
|
|
34
|
+
fontFamily: "neue-haas-grotesk-text, sans-serif",
|
|
35
|
+
fontWeight: fontWeights.text.bold,
|
|
36
|
+
fontStyle: "normal",
|
|
37
|
+
fontSize: pxToRem(52),
|
|
38
|
+
lineHeight: pxToRem(60),
|
|
39
|
+
},
|
|
40
|
+
h2: {
|
|
41
|
+
fontFamily: "neue-haas-grotesk-text, sans-serif",
|
|
42
|
+
fontWeight: fontWeights.text.bold,
|
|
43
|
+
fontStyle: "normal",
|
|
44
|
+
fontSize: pxToRem(34),
|
|
45
|
+
lineHeight: pxToRem(40),
|
|
46
|
+
},
|
|
47
|
+
h3: {
|
|
48
|
+
fontFamily: "neue-haas-grotesk-text, sans-serif",
|
|
49
|
+
fontWeight: fontWeights.text.bold,
|
|
50
|
+
fontStyle: "normal",
|
|
51
|
+
fontSize: pxToRem(28),
|
|
52
|
+
lineHeight: pxToRem(36),
|
|
53
|
+
},
|
|
54
|
+
h4: {
|
|
55
|
+
fontFamily: "neue-haas-grotesk-text, sans-serif",
|
|
56
|
+
fontWeight: fontWeights.text.bold,
|
|
57
|
+
fontStyle: "normal",
|
|
58
|
+
fontSize: pxToRem(24),
|
|
59
|
+
lineHeight: pxToRem(30),
|
|
60
|
+
},
|
|
61
|
+
h5: {
|
|
62
|
+
fontFamily: "neue-haas-grotesk-text, sans-serif",
|
|
63
|
+
fontWeight: fontWeights.text.medium,
|
|
64
|
+
fontStyle: "normal",
|
|
65
|
+
fontSize: pxToRem(18),
|
|
66
|
+
lineHeight: pxToRem(22),
|
|
67
|
+
},
|
|
68
|
+
subtitle1: {
|
|
69
|
+
fontFamily: "neue-haas-grotesk-text, sans-serif",
|
|
70
|
+
fontWeight: fontWeights.text.medium,
|
|
71
|
+
fontStyle: "normal",
|
|
72
|
+
fontSize: pxToRem(16),
|
|
73
|
+
lineHeight: pxToRem(20),
|
|
74
|
+
},
|
|
75
|
+
subtitle2: {
|
|
76
|
+
fontFamily: "neue-haas-grotesk-text, sans-serif",
|
|
77
|
+
fontWeight: fontWeights.text.medium,
|
|
78
|
+
fontStyle: "normal",
|
|
79
|
+
fontSize: pxToRem(14),
|
|
80
|
+
lineHeight: pxToRem(18),
|
|
81
|
+
},
|
|
82
|
+
subtitle3: {
|
|
83
|
+
fontFamily: "neue-haas-grotesk-text, sans-serif",
|
|
84
|
+
fontWeight: fontWeights.text.medium,
|
|
85
|
+
fontStyle: "normal",
|
|
86
|
+
fontSize: pxToRem(12),
|
|
87
|
+
lineHeight: pxToRem(16),
|
|
88
|
+
},
|
|
89
|
+
subtitle4: {
|
|
90
|
+
fontFamily: "neue-haas-grotesk-text, sans-serif",
|
|
91
|
+
fontWeight: fontWeights.text.medium,
|
|
92
|
+
fontStyle: "normal",
|
|
93
|
+
fontSize: pxToRem(10),
|
|
94
|
+
lineHeight: pxToRem(14),
|
|
95
|
+
},
|
|
96
|
+
body1: {
|
|
97
|
+
fontFamily: "neue-haas-grotesk-text, sans-serif",
|
|
98
|
+
fontWeight: fontWeights.text.roman,
|
|
99
|
+
fontStyle: "normal",
|
|
100
|
+
fontSize: pxToRem(16),
|
|
101
|
+
lineHeight: pxToRem(20),
|
|
102
|
+
},
|
|
103
|
+
body2: {
|
|
104
|
+
fontFamily: "neue-haas-grotesk-text, sans-serif",
|
|
105
|
+
fontWeight: fontWeights.text.roman,
|
|
106
|
+
fontStyle: "normal",
|
|
107
|
+
fontSize: pxToRem(14),
|
|
108
|
+
lineHeight: pxToRem(18),
|
|
109
|
+
},
|
|
110
|
+
body3: {
|
|
111
|
+
fontFamily: "neue-haas-grotesk-text, sans-serif",
|
|
112
|
+
fontWeight: fontWeights.text.roman,
|
|
113
|
+
fontStyle: "normal",
|
|
114
|
+
fontSize: pxToRem(12),
|
|
115
|
+
lineHeight: pxToRem(16),
|
|
116
|
+
},
|
|
117
|
+
body4: {
|
|
118
|
+
fontFamily: "neue-haas-grotesk-text, sans-serif",
|
|
119
|
+
fontWeight: fontWeights.text.roman,
|
|
120
|
+
fontStyle: "normal",
|
|
121
|
+
fontSize: pxToRem(10),
|
|
122
|
+
lineHeight: pxToRem(14),
|
|
123
|
+
},
|
|
124
|
+
buttonLarge: {
|
|
125
|
+
fontFamily: "neue-haas-grotesk-text, sans-serif",
|
|
126
|
+
fontWeight: fontWeights.text.medium,
|
|
127
|
+
fontStyle: "normal",
|
|
128
|
+
fontSize: pxToRem(16),
|
|
129
|
+
lineHeight: pxToRem(20),
|
|
130
|
+
},
|
|
131
|
+
button: {
|
|
132
|
+
fontFamily: "neue-haas-grotesk-text, sans-serif",
|
|
133
|
+
fontWeight: fontWeights.text.medium,
|
|
134
|
+
fontStyle: "normal",
|
|
135
|
+
fontSize: pxToRem(14),
|
|
136
|
+
lineHeight: pxToRem(18),
|
|
137
|
+
textTransform: "none",
|
|
138
|
+
},
|
|
139
|
+
buttonSmall: {
|
|
140
|
+
fontFamily: "neue-haas-grotesk-text, sans-serif",
|
|
141
|
+
fontWeight: fontWeights.text.medium,
|
|
142
|
+
fontStyle: "normal",
|
|
143
|
+
fontSize: pxToRem(12),
|
|
144
|
+
lineHeight: pxToRem(16),
|
|
145
|
+
},
|
|
146
|
+
};
|
|
147
|
+
exports.globalSettings = globalSettings;
|
|
148
|
+
const component = {
|
|
149
|
+
defaultProps: {
|
|
150
|
+
variantMapping: {
|
|
151
|
+
h1: "span",
|
|
152
|
+
h2: "span",
|
|
153
|
+
h3: "span",
|
|
154
|
+
h4: "span",
|
|
155
|
+
h5: "span",
|
|
156
|
+
body1: "p",
|
|
157
|
+
body2: "p",
|
|
158
|
+
body3: "p",
|
|
159
|
+
body4: "p",
|
|
160
|
+
subtitle1: "p",
|
|
161
|
+
subtitle2: "p",
|
|
162
|
+
subtitle3: "p",
|
|
163
|
+
subtitle4: "p",
|
|
164
|
+
button: "span",
|
|
165
|
+
},
|
|
166
|
+
},
|
|
167
|
+
};
|
|
168
|
+
exports.component = component;
|
|
169
|
+
const { typography } = (0, styles_1.createTheme)({
|
|
170
|
+
typography: globalSettings,
|
|
171
|
+
custom: {},
|
|
172
|
+
});
|
|
173
|
+
exports.typography = typography;
|