import { sizes } from './global/sizes'; import { space } from './global/space'; import { fontSizes, fontWeights, lineHeights } from './global/typography'; import { borderWidths, radii } from './global/borders'; import { shadows } from './global/shadows'; import { palette } from './global/colors'; import { alertSpace, alertFontSizes, alertLineHeights, alertFontWeights, alertBorderWidths, alertRadii, alertColors, } from './components/alert'; import { badgeColors, badgeFontSizes, badgeFontWeights, badgeSizes, badgeRadii, badgeSpace, badgeBorderWidths, badgeShadows, } from './components/badge'; import { bannerSpace, bannerFontSizes, bannerLineHeights, bannerFontWeights, bannerColors, } from './components/banner'; import { breadcrumbColors, breadcrumbSpace, breadcrumbFontSizes, breadcrumbFontWeights, breadcrumbLineHeights, } from './components/breadcrumb'; import { buttonSizes, buttonSpace, buttonFontSizes, buttonFontWeights, buttonLineHeights, buttonBorderWidths, buttonRadii, buttonColors, } from './components/button'; import { cardColors, cardBorderWidths, cardRadii, cardSpace, cardFontWeights, cardFontSizes, cardLineHeights, } from './components/card'; import { carouselSpace, carouselSizes, carouselColors, carouselRadii, carouselFontSizes, } from './components/carousel'; import { checkboxColors, checkboxSpace, checkboxSizes, checkboxBorderWidths, checkboxRadii, checkboxFontSizes, checkboxFontWeights, checkboxLineHeights, } from './components/checkbox'; import { commentColors, commentSizes, commentSpace, commentFontSizes, commentFontWeights, commentLineHeights, commentRadii, } from './components/comment'; import { datePickerColors, datePickerSpace, datePickerSizes, datePickerFontSizes, datePickerFontWeights, datePickerLineHeights, datePickerBorderWidths, datePickerRadii, datePickerShadows, } from './components/datePicker'; import { dividerColors, dividerBorderWidths, dividerSpace, } from './components/divider'; import { dropdownColors, dropdownSpace, dropdownRadii, dropdownShadows, } from './components/dropdown'; import { emptyFontSizes, emptyColors, emptySpace, emptyLineHeights, emptySizes, } from './components/empty'; import { fileSpace, fileRadii, fileColors, fileSizes } from './components/file'; import { formSpace, formColors, formShadows } from './components/form'; import { iconSizes, iconFontSizes, iconColors } from './components/icon'; import { inputSizes, inputSpace, inputFontSizes, inputLineHeights, inputFontWeights, inputBorderWidths, inputRadii, inputColors, inputShadows, } from './components/input'; import { menuColors, menuSpace, menuFontSizes, menuFontWeights, menuLineHeights, } from './components/menu'; import { modalColors, modalSizes, modalSpace, modalFontSizes, modalFontWeights, modalLineHeights, modalRadii, } from './components/modal'; import { notificationSpace, notificationColors, notificationFontSizes, notificationLineHeights, notificationRadii, notificationShadows, notificationFontWeights, } from './components/notification'; import { pageHeaderSpace, pageHeaderColors, pageHeaderFontSizes, pageHeaderFontWeights, } from './components/pageHeader'; import { paginationSpace, paginationColors, paginationBorderWidths, paginationSizes, paginationFontSizes, paginationFontWeights, paginationRadii, } from './components/pagination'; import { progressColors, progressFontSizes, progressFontWeights, progressLineHeights, progressSpace, progressSizes, progressRadii, } from './components/progress'; import { radioSizes, radioColors, radioRadii, radioBorderWidths, radioSpace, radioFontSizes, radioLineHeights, radioFontWeights, } from './components/radio'; import { resultColors, resultSpace, resultFontWeights, resultFontSizes, resultLineHeights, } from './components/result'; import { selectSizes, selectSpace, selectFontSizes, selectLineHeights, } from './components/select'; import { selectButtonSizes, selectButtonSpace, selectButtonFontSizes, selectButtonFontWeights, selectButtonBorderWidths, selectButtonRadii, selectButtonColors, } from './components/selectButton'; import { sliderColors, sliderBorderWidths, sliderRadii, sliderSizes, sliderSpace, sliderShadows, } from './components/slider'; import { spinnerSizes, spinnerShadows, spinnerFontSizes, spinnerColors, spinnerSpace, } from './components/spinner'; import { statisticColors, statisticFontWeights, statisticFontSizes, statisticLineHeights, statisticSpace, } from './components/statistic'; import { stepsSizes, stepsRadii, stepsBorderWidths, stepsSpace, stepsColors, stepsFontSizes, stepsFontWeights, stepsLineHeights, } from './components/steps'; import { switchSizes, switchSpace, switchColors, switchRadii, switchFontSizes, } from './components/switch'; import { tableSizes, tableColors, tableSpace, tableFontSizes, tableFontWeights, tableLineHeights, tableBorderWidths, tableRadii, tableShadows, } from './components/table'; import { tabsSpace, tabsSizes, tabsColors, tabsFontSizes, tabsLineHeights, tabsFontWeights, tabsBorderWidths, tabsRadii, } from './components/tabs'; import { tagSpace, tagColors, tagBorderWidths, tagRadii, tagFontSizes, tagFontWeights, } from './components/tag'; import { timePickerColors, timePickerSpace, timePickerFontSizes, timePickerFontWeights, timePickerLineHeights, timePickerSizes, timePickerBorderWidths, } from './components/timePicker'; import { timelineSpace, timelineSizes, timelineFontSizes, timelineLineHeights, timelineFontWeights, timelineColors, timelineBorderWidths, } from './components/timeline'; import { tooltipSizes, tooltipColors, tooltipSpace, tooltipFontSizes, tooltipFontWeights, tooltipLineHeights, tooltipRadii, } from './components/tooltip'; import { typoColors, typoSpace, typoFontSizes, typoFontWeights, typoLineHeights, } from './components/typography'; interface Theme { borderWidths: typeof borderWidths & { alert: typeof alertBorderWidths; badge: typeof badgeBorderWidths; button: typeof buttonBorderWidths; card: typeof cardBorderWidths; checkbox: typeof checkboxBorderWidths; datePicker: typeof datePickerBorderWidths; divider: typeof dividerBorderWidths; input: typeof inputBorderWidths; pagination: typeof paginationBorderWidths; radio: typeof radioBorderWidths; selectButton: typeof selectButtonBorderWidths; slider: typeof sliderBorderWidths; steps: typeof stepsBorderWidths; table: typeof tableBorderWidths; tabs: typeof tabsBorderWidths; tag: typeof tagBorderWidths; timePicker: typeof timePickerBorderWidths; timeline: typeof timelineBorderWidths; }; colors: typeof palette & { alert: typeof alertColors; badge: typeof badgeColors; banner: typeof bannerColors; breadcrumb: typeof breadcrumbColors; button: typeof buttonColors; card: typeof cardColors; carousel: typeof carouselColors; checkbox: typeof checkboxColors; comment: typeof commentColors; datePicker: typeof datePickerColors; divider: typeof dividerColors; dropdown: typeof dropdownColors; empty: typeof emptyColors; file: typeof fileColors; form: typeof formColors; icon: typeof iconColors; input: typeof inputColors; menu: typeof menuColors; modal: typeof modalColors; notification: typeof notificationColors; pageHeader: typeof pageHeaderColors; pagination: typeof paginationColors; progress: typeof progressColors; radio: typeof radioColors; result: typeof resultColors; selectButton: typeof selectButtonColors; slider: typeof sliderColors; spinner: typeof spinnerColors; statistic: typeof statisticColors; steps: typeof stepsColors; switch: typeof switchColors; table: typeof tableColors; tabs: typeof tabsColors; tag: typeof tagColors; timePicker: typeof timePickerColors; timeline: typeof timelineColors; tooltip: typeof tooltipColors; typography: typeof typoColors; }; fontSizes: typeof fontSizes & { alert: typeof alertFontSizes; badge: typeof badgeFontSizes; banner: typeof bannerFontSizes; breadcrumb: typeof breadcrumbFontSizes; button: typeof buttonFontSizes; card: typeof cardFontSizes; carousel: typeof carouselFontSizes; checkbox: typeof checkboxFontSizes; comment: typeof commentFontSizes; datePicker: typeof datePickerFontSizes; empty: typeof emptyFontSizes; icon: typeof iconFontSizes; input: typeof inputFontSizes; menu: typeof menuFontSizes; modal: typeof modalFontSizes; notification: typeof notificationFontSizes; pageHeader: typeof pageHeaderFontSizes; pagination: typeof paginationFontSizes; progress: typeof progressFontSizes; radio: typeof radioFontSizes; result: typeof resultFontSizes; select: typeof selectFontSizes; selectButton: typeof selectButtonFontSizes; spinner: typeof spinnerFontSizes; statistic: typeof statisticFontSizes; steps: typeof stepsFontSizes; switch: typeof switchFontSizes; table: typeof tableFontSizes; tabs: typeof tabsFontSizes; tag: typeof tagFontSizes; timePicker: typeof timePickerFontSizes; timeline: typeof timelineFontSizes; tooltip: typeof tooltipFontSizes; typography: typeof typoFontSizes; }; fontWeights: typeof fontWeights & { alert: typeof alertFontWeights; badge: typeof badgeFontWeights; banner: typeof bannerFontWeights; breadcrumb: typeof breadcrumbFontWeights; button: typeof buttonFontWeights; card: typeof cardFontWeights; checkbox: typeof checkboxFontWeights; comment: typeof commentFontWeights; datePicker: typeof datePickerFontWeights; input: typeof inputFontWeights; menu: typeof menuFontWeights; modal: typeof modalFontWeights; notification: typeof notificationFontWeights; pageHeader: typeof pageHeaderFontWeights; pagination: typeof paginationFontWeights; progress: typeof progressFontWeights; radio: typeof radioFontWeights; result: typeof resultFontWeights; selectButton: typeof selectButtonFontWeights; statistic: typeof statisticFontWeights; steps: typeof stepsFontWeights; table: typeof tableFontWeights; tabs: typeof tabsFontWeights; tag: typeof tagFontWeights; timePicker: typeof timePickerFontWeights; timeline: typeof timelineFontWeights; tooltip: typeof tooltipFontWeights; typography: typeof typoFontWeights; }; lineHeights: typeof lineHeights & { alert: typeof alertLineHeights; banner: typeof bannerLineHeights; breadcrumb: typeof breadcrumbLineHeights; button: typeof buttonLineHeights; card: typeof cardLineHeights; checkbox: typeof checkboxLineHeights; comment: typeof commentLineHeights; datePicker: typeof datePickerLineHeights; empty: typeof emptyLineHeights; input: typeof inputLineHeights; menu: typeof menuLineHeights; modal: typeof modalLineHeights; notification: typeof notificationLineHeights; progress: typeof progressLineHeights; radio: typeof radioLineHeights; result: typeof resultLineHeights; select: typeof selectLineHeights; statistic: typeof statisticLineHeights; steps: typeof stepsLineHeights; table: typeof tableLineHeights; tabs: typeof tabsLineHeights; timePicker: typeof timePickerLineHeights; timeline: typeof timelineLineHeights; tooltip: typeof tooltipLineHeights; typography: typeof typoLineHeights; }; radii: typeof radii & { alert: typeof alertRadii; badge: typeof badgeRadii; button: typeof buttonRadii; card: typeof cardRadii; carousel: typeof carouselRadii; checkbox: typeof checkboxRadii; comment: typeof commentRadii; datePicker: typeof datePickerRadii; dropdown: typeof dropdownRadii; file: typeof fileRadii; input: typeof inputRadii; modal: typeof modalRadii; notification: typeof notificationRadii; pagination: typeof paginationRadii; progress: typeof progressRadii; radio: typeof radioRadii; selectButton: typeof selectButtonRadii; slider: typeof sliderRadii; steps: typeof stepsRadii; switch: typeof switchRadii; table: typeof tableRadii; tabs: typeof tabsRadii; tag: typeof tagRadii; tooltip: typeof tooltipRadii; }; shadows: typeof shadows & { badge: typeof badgeShadows; datePicker: typeof datePickerShadows; dropdown: typeof dropdownShadows; form: typeof formShadows; input: typeof inputShadows; notification: typeof notificationShadows; slider: typeof sliderShadows; spinner: typeof spinnerShadows; table: typeof tableShadows; }; sizes: typeof sizes & { badge: typeof badgeSizes; button: typeof buttonSizes; carousel: typeof carouselSizes; checkbox: typeof checkboxSizes; comment: typeof commentSizes; datePicker: typeof datePickerSizes; empty: typeof emptySizes; file: typeof fileSizes; icon: typeof iconSizes; input: typeof inputSizes; modal: typeof modalSizes; pagination: typeof paginationSizes; progress: typeof progressSizes; radio: typeof radioSizes; select: typeof selectSizes; selectButton: typeof selectButtonSizes; slider: typeof sliderSizes; spinner: typeof spinnerSizes; steps: typeof stepsSizes; switch: typeof switchSizes; table: typeof tableSizes; tabs: typeof tabsSizes; timePicker: typeof timePickerSizes; timeline: typeof timelineSizes; tooltip: typeof tooltipSizes; }; space: typeof space & { alert: typeof alertSpace; badge: typeof badgeSpace; banner: typeof bannerSpace; breadcrumb: typeof breadcrumbSpace; button: typeof buttonSpace; card: typeof cardSpace; carousel: typeof carouselSpace; checkbox: typeof checkboxSpace; comment: typeof commentSpace; datePicker: typeof datePickerSpace; divider: typeof dividerSpace; dropdown: typeof dropdownSpace; empty: typeof emptySpace; file: typeof fileSpace; form: typeof formSpace; input: typeof inputSpace; menu: typeof menuSpace; modal: typeof modalSpace; notification: typeof notificationSpace; pageHeader: typeof pageHeaderSpace; pagination: typeof paginationSpace; progress: typeof progressSpace; radio: typeof radioSpace; result: typeof resultSpace; select: typeof selectSpace; selectButton: typeof selectButtonSpace; slider: typeof sliderSpace; spinner: typeof spinnerSpace; statistic: typeof statisticSpace; steps: typeof stepsSpace; switch: typeof switchSpace; table: typeof tableSpace; tabs: typeof tabsSpace; tag: typeof tagSpace; timePicker: typeof timePickerSpace; timeline: typeof timelineSpace; tooltip: typeof tooltipSpace; typography: typeof typoSpace; }; } const theme: Theme = { borderWidths: { ...borderWidths, alert: alertBorderWidths, badge: badgeBorderWidths, button: buttonBorderWidths, card: cardBorderWidths, checkbox: checkboxBorderWidths, datePicker: datePickerBorderWidths, divider: dividerBorderWidths, input: inputBorderWidths, pagination: paginationBorderWidths, radio: radioBorderWidths, selectButton: selectButtonBorderWidths, slider: sliderBorderWidths, steps: stepsBorderWidths, table: tableBorderWidths, tabs: tabsBorderWidths, tag: tagBorderWidths, timePicker: timePickerBorderWidths, timeline: timelineBorderWidths, }, colors: { ...palette, alert: alertColors, badge: badgeColors, banner: bannerColors, breadcrumb: breadcrumbColors, button: buttonColors, card: cardColors, carousel: carouselColors, checkbox: checkboxColors, comment: commentColors, datePicker: datePickerColors, divider: dividerColors, dropdown: dropdownColors, empty: emptyColors, file: fileColors, form: formColors, icon: iconColors, input: inputColors, menu: menuColors, modal: modalColors, notification: notificationColors, pageHeader: pageHeaderColors, pagination: paginationColors, progress: progressColors, radio: radioColors, result: resultColors, selectButton: selectButtonColors, slider: sliderColors, spinner: spinnerColors, statistic: statisticColors, steps: stepsColors, switch: switchColors, table: tableColors, tabs: tabsColors, tag: tagColors, timePicker: timePickerColors, timeline: timelineColors, tooltip: tooltipColors, typography: typoColors, }, fontSizes: { ...fontSizes, alert: alertFontSizes, badge: badgeFontSizes, banner: bannerFontSizes, breadcrumb: breadcrumbFontSizes, button: buttonFontSizes, card: cardFontSizes, carousel: carouselFontSizes, checkbox: checkboxFontSizes, comment: commentFontSizes, datePicker: datePickerFontSizes, empty: emptyFontSizes, icon: iconFontSizes, input: inputFontSizes, menu: menuFontSizes, modal: modalFontSizes, notification: notificationFontSizes, pageHeader: pageHeaderFontSizes, pagination: paginationFontSizes, progress: progressFontSizes, radio: radioFontSizes, result: resultFontSizes, select: selectFontSizes, selectButton: selectButtonFontSizes, spinner: spinnerFontSizes, statistic: statisticFontSizes, steps: stepsFontSizes, switch: switchFontSizes, table: tableFontSizes, tabs: tabsFontSizes, tag: tagFontSizes, timePicker: timePickerFontSizes, timeline: timelineFontSizes, tooltip: tooltipFontSizes, typography: typoFontSizes, }, fontWeights: { ...fontWeights, alert: alertFontWeights, badge: badgeFontWeights, banner: bannerFontWeights, breadcrumb: breadcrumbFontWeights, button: buttonFontWeights, card: cardFontWeights, checkbox: checkboxFontWeights, comment: commentFontWeights, datePicker: datePickerFontWeights, input: inputFontWeights, menu: menuFontWeights, modal: modalFontWeights, notification: notificationFontWeights, pageHeader: pageHeaderFontWeights, pagination: paginationFontWeights, progress: progressFontWeights, radio: radioFontWeights, result: resultFontWeights, selectButton: selectButtonFontWeights, statistic: statisticFontWeights, steps: stepsFontWeights, table: tableFontWeights, tabs: tabsFontWeights, tag: tagFontWeights, timePicker: timePickerFontWeights, timeline: timelineFontWeights, tooltip: tooltipFontWeights, typography: typoFontWeights, }, lineHeights: { ...lineHeights, alert: alertLineHeights, banner: bannerLineHeights, breadcrumb: breadcrumbLineHeights, button: buttonLineHeights, card: cardLineHeights, checkbox: checkboxLineHeights, comment: commentLineHeights, datePicker: datePickerLineHeights, empty: emptyLineHeights, input: inputLineHeights, menu: menuLineHeights, modal: modalLineHeights, notification: notificationLineHeights, progress: progressLineHeights, radio: radioLineHeights, result: resultLineHeights, select: selectLineHeights, statistic: statisticLineHeights, steps: stepsLineHeights, table: tableLineHeights, tabs: tabsLineHeights, timePicker: timePickerLineHeights, timeline: timelineLineHeights, tooltip: tooltipLineHeights, typography: typoLineHeights, }, radii: { ...radii, alert: alertRadii, badge: badgeRadii, button: buttonRadii, card: cardRadii, carousel: carouselRadii, checkbox: checkboxRadii, comment: commentRadii, datePicker: datePickerRadii, dropdown: dropdownRadii, file: fileRadii, input: inputRadii, modal: modalRadii, notification: notificationRadii, pagination: paginationRadii, progress: progressRadii, radio: radioRadii, selectButton: selectButtonRadii, slider: sliderRadii, steps: stepsRadii, switch: switchRadii, table: tableRadii, tabs: tabsRadii, tag: tagRadii, tooltip: tooltipRadii, }, shadows: { ...shadows, badge: badgeShadows, datePicker: datePickerShadows, dropdown: dropdownShadows, form: formShadows, input: inputShadows, notification: notificationShadows, slider: sliderShadows, spinner: spinnerShadows, table: tableShadows, }, sizes: { ...sizes, badge: badgeSizes, button: buttonSizes, carousel: carouselSizes, checkbox: checkboxSizes, comment: commentSizes, datePicker: datePickerSizes, empty: emptySizes, file: fileSizes, icon: iconSizes, input: inputSizes, modal: modalSizes, pagination: paginationSizes, progress: progressSizes, radio: radioSizes, select: selectSizes, selectButton: selectButtonSizes, slider: sliderSizes, spinner: spinnerSizes, steps: stepsSizes, switch: switchSizes, table: tableSizes, tabs: tabsSizes, timePicker: timePickerSizes, timeline: timelineSizes, tooltip: tooltipSizes, }, space: { ...space, alert: alertSpace, badge: badgeSpace, banner: bannerSpace, breadcrumb: breadcrumbSpace, button: buttonSpace, card: cardSpace, carousel: carouselSpace, checkbox: checkboxSpace, comment: commentSpace, datePicker: datePickerSpace, divider: dividerSpace, dropdown: dropdownSpace, empty: emptySpace, file: fileSpace, form: formSpace, input: inputSpace, menu: menuSpace, modal: modalSpace, notification: notificationSpace, pageHeader: pageHeaderSpace, pagination: paginationSpace, progress: progressSpace, radio: radioSpace, result: resultSpace, select: selectSpace, selectButton: selectButtonSpace, slider: sliderSpace, spinner: spinnerSpace, statistic: statisticSpace, steps: stepsSpace, switch: switchSpace, table: tableSpace, tabs: tabsSpace, tag: tagSpace, timePicker: timePickerSpace, timeline: timelineSpace, tooltip: tooltipSpace, typography: typoSpace, }, }; export { Theme }; export default theme;