@sebgroup/green-react 1.11.1 → 1.12.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.
package/index.js CHANGED
@@ -3867,7 +3867,7 @@ const Tabs = ({
3867
3867
  onTabChange,
3868
3868
  children
3869
3869
  }) => {
3870
- const [selectedTab, setSelectedTab] = useState(0);
3870
+ const [selectedTab, setSelectedTab] = useState(getDefaultSelectedTab());
3871
3871
  const onClick = event => {
3872
3872
  event.preventDefault();
3873
3873
  if (event.currentTarget.ariaDisabled !== 'true') {
@@ -3876,6 +3876,13 @@ const Tabs = ({
3876
3876
  onTabChange && onTabChange(focusedIndex);
3877
3877
  }
3878
3878
  };
3879
+ function getDefaultSelectedTab() {
3880
+ let selectedTabIndex = 0;
3881
+ if (children) selectedTabIndex = children.findIndex(x => x.props.selected);else if (list) {
3882
+ selectedTabIndex = list.findIndex(x => x.selected);
3883
+ }
3884
+ return selectedTabIndex !== -1 ? selectedTabIndex : 0;
3885
+ }
3879
3886
  return jsxs(Fragment, {
3880
3887
  children: [jsxs("nav", Object.assign({
3881
3888
  role: "tablist"
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@sebgroup/green-react",
3
- "version": "1.11.1",
3
+ "version": "1.12.0",
4
4
  "peerDependencies": {
5
5
  "react": "^17 || ^18",
6
6
  "react-dom": "^17 || ^18"
7
7
  },
8
8
  "dependencies": {
9
- "@sebgroup/chlorophyll": "^1.11.1",
9
+ "@sebgroup/chlorophyll": "^1.11.2",
10
10
  "@sebgroup/extract": "^1.3.4",
11
11
  "classnames": "^2.3.2"
12
12
  },
@@ -3,6 +3,7 @@ export interface IList {
3
3
  text?: string;
4
4
  href?: string;
5
5
  disabled?: boolean;
6
+ selected?: boolean;
6
7
  }
7
8
  interface TabsProps {
8
9
  /**
@@ -18,6 +19,7 @@ export interface TabProps {
18
19
  disabled?: boolean;
19
20
  href?: string;
20
21
  children?: ReactNode;
22
+ selected?: boolean;
21
23
  }
22
24
  export declare const Tab: (props: PropsWithChildren<TabProps>) => null;
23
25
  export declare const Tabs: ({ list, onTabChange, children }: TabsProps) => JSX.Element;