@sebgroup/green-react 1.11.1 → 1.12.1

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
@@ -3623,7 +3623,8 @@ function Slider({
3623
3623
  children: [jsx("div", {
3624
3624
  children: label && jsxs(Fragment, {
3625
3625
  children: [jsx("label", Object.assign({
3626
- htmlFor: name
3626
+ htmlFor: name,
3627
+ id: `${name}-label`
3627
3628
  }, {
3628
3629
  children: label
3629
3630
  })), instruction && jsx("p", {
@@ -3638,6 +3639,7 @@ function Slider({
3638
3639
  value: inputFieldValue,
3639
3640
  id: `${name}-textbox`,
3640
3641
  name: name,
3642
+ "aria-labelledby": `${name}-label`,
3641
3643
  className: errorMessage ? 'is-invalid' : '',
3642
3644
  disabled: disabled,
3643
3645
  onChange: e => handleInputFieldChange(e.currentTarget.value),
@@ -3867,7 +3869,7 @@ const Tabs = ({
3867
3869
  onTabChange,
3868
3870
  children
3869
3871
  }) => {
3870
- const [selectedTab, setSelectedTab] = useState(0);
3872
+ const [selectedTab, setSelectedTab] = useState(getDefaultSelectedTab());
3871
3873
  const onClick = event => {
3872
3874
  event.preventDefault();
3873
3875
  if (event.currentTarget.ariaDisabled !== 'true') {
@@ -3876,6 +3878,13 @@ const Tabs = ({
3876
3878
  onTabChange && onTabChange(focusedIndex);
3877
3879
  }
3878
3880
  };
3881
+ function getDefaultSelectedTab() {
3882
+ let selectedTabIndex = 0;
3883
+ if (children) selectedTabIndex = children.findIndex(x => x.props.selected);else if (list) {
3884
+ selectedTabIndex = list.findIndex(x => x.selected);
3885
+ }
3886
+ return selectedTabIndex !== -1 ? selectedTabIndex : 0;
3887
+ }
3879
3888
  return jsxs(Fragment, {
3880
3889
  children: [jsxs("nav", Object.assign({
3881
3890
  role: "tablist"
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@sebgroup/green-react",
3
- "version": "1.11.1",
3
+ "version": "1.12.1",
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",
10
- "@sebgroup/extract": "^1.3.4",
9
+ "@sebgroup/chlorophyll": "^1.11.3",
10
+ "@sebgroup/extract": "^1.4.0",
11
11
  "classnames": "^2.3.2"
12
12
  },
13
13
  "description": "React components built on top of @sebgroup/chlorophyll.",
@@ -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;