@mackin.com/styleguide 8.5.1 → 8.5.2

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 (3) hide show
  1. package/index.d.ts +23 -1
  2. package/index.js +22 -0
  3. package/package.json +1 -1
package/index.d.ts CHANGED
@@ -1079,4 +1079,26 @@ interface ThemeRendererProps extends MackinTheme {
1079
1079
  }
1080
1080
  declare const ThemeRenderer: (p: ThemeRendererProps) => JSX.Element;
1081
1081
 
1082
- export { Accordian, AccordianProps, Alignment, Autocomplete, AutocompleteProps, AutocompleteValue, Backdrop$1 as Backdrop, Backdrop as Backdrop2, BoundMemoryPager, BoundStaticPager, Button, ButtonProps, Calendar, CalendarProps, Checkbox, CheckboxProps, ConfirmModal, ConfirmModalProps, CopyButton, DateInput, DateInputProps, Divider, ErrorModal, FileUploader, Form, FormColumnRow, FormFlexRow, FormProps, GlobalStyles, Header, Highlight, ICONS, Icon, Image, ImageProps, InfoPanel, InfoTip, InfoTipProps, Input, InputProps, ItemPager, Label, LabelProps, Link, LinkProps, List, ListItem, ListItemProps, ListProps, MackinTheme, Modal, ModalProps, Nav, NormalizeCss, NumberInput, NumberInputProps, OmniLink, OmniLinkProps, PagedResult, Pager, PagerProps, Picker, PickerOption, PickerProps, PickerValue, Popover, ProgressBar, ProgressBarProps, SearchBox, SearchBoxProps, Slider, TabHeader, TabHeaderProps, TabLocker, Table, Td, TdCurrency, TdNumber, Text, TextArea, TextAreaProps, TextInput, TextInputProps, TextProps, Th, ThSort, ThemeProvider, ThemeRenderer, ToggleButton, ToggleButtonGroup, ToggleButtonGroupProps, ToggleButtonProps, TogglePasswordInput, Tr, WaitingIndicator, calcDynamicThemeProps, defaultTheme, enumToEntities, getCurrencyDisplay, getFileSizeDisplay, useAccordianState, useBooleanChanged, useIgnoreMount, useMediaQuery, useScrollbarSize, useThemeSafely, useWaiting };
1082
+ interface TabContainerProps {
1083
+ tabs: {
1084
+ name: string;
1085
+ getContent: () => JSX.Element;
1086
+ }[];
1087
+ id?: string;
1088
+ /** Defaults to 10rem. */
1089
+ maxTabWidth?: string;
1090
+ /** Defaults to 'tab'. */
1091
+ variant?: 'tab' | 'button';
1092
+ contentClassName?: string;
1093
+ tabHeaderClassName?: string;
1094
+ tabClassName?: string;
1095
+ tabHeaderDividerClassName?: string;
1096
+ /** Defaults to 0. */
1097
+ startingIndex?: number;
1098
+ onTabChanged?: (tabIndex: number) => void;
1099
+ /** If present, tab change will be delayed until this method resolves. */
1100
+ onBeforeTabChanged?: (tabIndex: number) => Promise<void>;
1101
+ }
1102
+ declare const TabContainer: (p: TabContainerProps) => JSX.Element;
1103
+
1104
+ export { Accordian, AccordianProps, Alignment, Autocomplete, AutocompleteProps, AutocompleteValue, Backdrop$1 as Backdrop, Backdrop as Backdrop2, BoundMemoryPager, BoundStaticPager, Button, ButtonProps, Calendar, CalendarProps, Checkbox, CheckboxProps, ConfirmModal, ConfirmModalProps, CopyButton, DateInput, DateInputProps, Divider, ErrorModal, FileUploader, Form, FormColumnRow, FormFlexRow, FormProps, GlobalStyles, Header, Highlight, ICONS, Icon, Image, ImageProps, InfoPanel, InfoTip, InfoTipProps, Input, InputProps, ItemPager, Label, LabelProps, Link, LinkProps, List, ListItem, ListItemProps, ListProps, MackinTheme, Modal, ModalProps, Nav, NormalizeCss, NumberInput, NumberInputProps, OmniLink, OmniLinkProps, PagedResult, Pager, PagerProps, Picker, PickerOption, PickerProps, PickerValue, Popover, ProgressBar, ProgressBarProps, SearchBox, SearchBoxProps, Slider, TabContainer, TabContainerProps, TabHeader, TabHeaderProps, TabLocker, Table, Td, TdCurrency, TdNumber, Text, TextArea, TextAreaProps, TextInput, TextInputProps, TextProps, Th, ThSort, ThemeProvider, ThemeRenderer, ToggleButton, ToggleButtonGroup, ToggleButtonGroupProps, ToggleButtonProps, TogglePasswordInput, Tr, WaitingIndicator, calcDynamicThemeProps, defaultTheme, enumToEntities, getCurrencyDisplay, getFileSizeDisplay, useAccordianState, useBooleanChanged, useIgnoreMount, useMediaQuery, useScrollbarSize, useThemeSafely, useWaiting };
package/index.js CHANGED
@@ -4732,6 +4732,27 @@ const flatten = (obj, parent, path = 'theme') => {
4732
4732
  return flatObj;
4733
4733
  };
4734
4734
 
4735
+ const TabContainer = (p) => {
4736
+ var _a;
4737
+ const [tabIndex, setTabIndex] = React__namespace.useState((_a = p.startingIndex) !== null && _a !== void 0 ? _a : 0);
4738
+ const theme = useThemeSafely();
4739
+ return (React__namespace.createElement("div", { className: css.css({
4740
+ label: 'TabContainer'
4741
+ }) },
4742
+ React__namespace.createElement(TabHeader, { tabs: p.tabs, maxTabWidth: p.maxTabWidth, variant: p.variant, containerClassName: p.tabHeaderClassName, tabClassName: p.tabClassName, tabHeaderDividerClassName: p.tabHeaderDividerClassName, startingIndex: tabIndex, onBeforeTabChanged: p.onBeforeTabChanged, onTabChanged: newIndex => {
4743
+ var _a;
4744
+ setTabIndex(newIndex);
4745
+ (_a = p.onTabChanged) === null || _a === void 0 ? void 0 : _a.call(p, newIndex);
4746
+ } }),
4747
+ React__namespace.createElement("div", { className: css.cx(css.css({
4748
+ label: 'TabContainerContent',
4749
+ padding: '1rem',
4750
+ borderLeft: theme.controls.border,
4751
+ borderRight: theme.controls.border,
4752
+ borderBottom: theme.controls.border,
4753
+ }), p.contentClassName) }, p.tabs[tabIndex].getContent())));
4754
+ };
4755
+
4735
4756
  exports.Accordian = Accordian;
4736
4757
  exports.Autocomplete = Autocomplete;
4737
4758
  exports.Backdrop = Backdrop$1;
@@ -4776,6 +4797,7 @@ exports.Popover = Popover;
4776
4797
  exports.ProgressBar = ProgressBar;
4777
4798
  exports.SearchBox = SearchBox;
4778
4799
  exports.Slider = Slider;
4800
+ exports.TabContainer = TabContainer;
4779
4801
  exports.TabHeader = TabHeader;
4780
4802
  exports.TabLocker = TabLocker;
4781
4803
  exports.Table = Table;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mackin.com/styleguide",
3
- "version": "8.5.1",
3
+ "version": "8.5.2",
4
4
  "description": "",
5
5
  "main": "./index.js",
6
6
  "types": "./index.d.ts",