@kvdbil/components 9.6.0 → 9.7.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.
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),r=require("styled-components"),t=require("../../shared/media-queries.js");function o(l){return l&&typeof l=="object"&&"default"in l?l:{default:l}}var i=o(e);const n=l=>({row:"Left","row-reverse":"Right",column:"Top","column-reverse":"Bottom"})[l],s=(l,f)=>t.mqSizesOrder[l]<t.mqSizesOrder[f]?-1:t.mqSizesOrder[l]>t.mqSizesOrder[f]?1:0,c=o(r).default("div")(({ownerState:{direction:l,spacing:f}})=>typeof l=="string"&&typeof f=="number"?{display:"flex",flexDirection:l,"> *:not(:first-child)":{margin:0,[`margin${n(l)}`]:`${f}rem`}}:typeof l=="object"||typeof f=="object"?{...((a
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),r=require("styled-components"),t=require("../../shared/media-queries.js");function o(l){return l&&typeof l=="object"&&"default"in l?l:{default:l}}var i=o(e);const n=l=>({row:"Left","row-reverse":"Right",column:"Top","column-reverse":"Bottom"})[l],s=(l,f)=>t.mqSizesOrder[l]<t.mqSizesOrder[f]?-1:t.mqSizesOrder[l]>t.mqSizesOrder[f]?1:0,c=o(r).default("div")(({ownerState:{direction:l,spacing:f}})=>typeof l=="string"&&typeof f=="number"?{display:"flex",flexDirection:l,"> *:not(:first-child)":{margin:0,[`margin${n(l)}`]:`${f}rem`}}:typeof l=="object"||typeof f=="object"?{...((u,a)=>{var p,y;const j=typeof u=="object"?Object.keys(u).sort(s):Object.keys(a).sort(s);let d={};for(const m of j){const b=typeof u=="object"?(p=u[m])!=null?p:"row":u,g=n(b),q=typeof a=="object"?(y=a[m])!=null?y:1:a,v={[t.mq(m)]:{display:"flex",flexDirection:b,"> *:not(:first-child)":{margin:0,[`margin${g}`]:`${q}rem`}}};d={...d,...v}}return{...d}})(l,f!=null?f:1)}:{display:"flex"});exports.default=({children:l,direction:f="column",spacing:u=1})=>{const a={direction:f,spacing:u};return i.default.createElement(c,{ownerState:a},l)};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("./Tab.js"),r=require("styled-components"),l=require("../../shared/media-queries.js"),i=require("react-collapse");function n(
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("./Tab.js"),r=require("styled-components"),l=require("../../shared/media-queries.js"),i=require("react-collapse");function n(m){return m&&typeof m=="object"&&"default"in m?m:{default:m}}require("../Button/index.js"),require("../../theme.js"),require("../Spinner/index.js"),require("../../typography/ButtonText/index.js"),require("../Button/styles.js"),require("../../utils/utils.js");var a=n(e),o=n(r);const s=o.default.div`
|
|
2
2
|
.ReactCollapse--collapse {
|
|
3
3
|
transition: height 300ms;
|
|
4
4
|
}
|
|
@@ -11,14 +11,14 @@
|
|
|
11
11
|
align-items: center;
|
|
12
12
|
flex-wrap: wrap;
|
|
13
13
|
|
|
14
|
-
${({theme:
|
|
15
|
-
border-bottom: 3px solid ${
|
|
14
|
+
${({theme:m,fullWidthBorder:q})=>q?`border-bottom: 3px solid ${m.colors.gray.light6};`:`& > li {
|
|
15
|
+
border-bottom: 3px solid ${m.colors.gray.light6};
|
|
16
16
|
}`}
|
|
17
17
|
|
|
18
18
|
${l.mq("mobileM")} {
|
|
19
19
|
flex-direction: row;
|
|
20
|
-
justify-content: ${({justify:
|
|
20
|
+
justify-content: ${({justify:m})=>m};
|
|
21
21
|
}
|
|
22
22
|
`,u=o.default.div`
|
|
23
23
|
padding: 0.5rem 0;
|
|
24
|
-
`,
|
|
24
|
+
`,c=o.default.div``,p=({activeColor:m="secondary",justify:q="end",activeIndex:k,initalActive:D,children:I=[],kbNavAutoOpen:E=!0,onTabClick:O=()=>{},fullWidthBorder:W=!0})=>{var $,A;const v=e.Children.map(I,f=>f),[x,j]=e.useState(()=>D!=null?D:v.findIndex(f=>!f.props.isDisabled)),R=e.useRef([]),M=Boolean((A=($=v[x])==null?void 0:$.props)==null?void 0:A.children);e.useEffect(()=>{k!==void 0&&j(k)},[k]);const S=(f,b)=>{if(f.preventDefault(),f.key!=="Enter"||E||j(b),f.key==="ArrowLeft"||f.key==="ArrowRight"){const y=E?x:b,h=f.key==="ArrowRight",w=h?y+1:0,B=h?v.length:y,T=v.slice(w,B);h||T.reverse();const C=T.findIndex(g=>!g.props.isDisabled);if(C!==-1){const g=h?y+(C+1):y-(C+1);E&&j(g),R.current[g].focus()}}};return a.default.createElement(s,null,a.default.createElement(i.UnmountClosed,{isOpened:!0},a.default.createElement(d,{fullWidthBorder:W,justify:q,role:"tablist"},v.map((f,b)=>f?a.default.createElement(t.default,{key:b,label:f.props.label,isDisabled:f.props.isDisabled,index:b,id:b,isActive:x===b,activeColor:m,onClick:(y,h)=>{f.props.isDisabled||(O(y,h),((w,B)=>{w.preventDefault(),j(B)})(y,h))},onKeyUp:S,ref:y=>R.current[b]=y}):null)),M&&a.default.createElement(u,null,v.map((f,b)=>{const y=f.props.children&&x===b;return a.default.createElement(c,{key:b,id:`tabpanel-${b}`,role:"tabpanel","aria-labelledby":`tab-${b}`,"aria-hidden":y?"false":"true"},y&&f.props.children)}))))};exports.Tabs=p,exports.default=p;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import p from"react";import b from"styled-components";import{mq as k,mqSizesOrder as n}from"../../shared/media-queries.js";const f=t=>({row:"Left","row-reverse":"Right",column:"Top","column-reverse":"Bottom"})[t],a=(t,e)=>n[t]<n[e]?-1:n[t]>n[e]?1:0,j=(t,e)=>{var o,r;const m=typeof t=="object"?Object.keys(t).sort(a):Object.keys(e).sort(a);let s={};for(const l of m){const c=typeof t=="object"?(o=t[l])!=null?o:"row":t,u=f(c),y=typeof e=="object"?(r=e[l])!=null?r:1:e,i={[k(l)]:{display:"flex",flexDirection:c,"> *:not(:first-child)":{margin:0,[`margin${u}`]:`${y}rem`}}};s={...s,...i}}return{...s}},d=({ownerState:{direction:t,spacing:e}})=>typeof t=="string"&&typeof e=="number"?{display:"flex",flexDirection:t,"> *:not(:first-child)":{margin:0,[`margin${f(t)}`]:`${e}rem`}}:typeof t=="object"||typeof e=="object"?{...j(t,e!=null?e:1)}:{display:"flex"},S=b("div")(d),w=({children:t,direction:e,spacing:o=1})=>{const r={direction:e,spacing:o};return p.createElement(S,{ownerState:r},t)};export{w as default};
|
|
1
|
+
import p from"react";import b from"styled-components";import{mq as k,mqSizesOrder as n}from"../../shared/media-queries.js";const f=t=>({row:"Left","row-reverse":"Right",column:"Top","column-reverse":"Bottom"})[t],a=(t,e)=>n[t]<n[e]?-1:n[t]>n[e]?1:0,j=(t,e)=>{var o,r;const m=typeof t=="object"?Object.keys(t).sort(a):Object.keys(e).sort(a);let s={};for(const l of m){const c=typeof t=="object"?(o=t[l])!=null?o:"row":t,u=f(c),y=typeof e=="object"?(r=e[l])!=null?r:1:e,i={[k(l)]:{display:"flex",flexDirection:c,"> *:not(:first-child)":{margin:0,[`margin${u}`]:`${y}rem`}}};s={...s,...i}}return{...s}},d=({ownerState:{direction:t,spacing:e}})=>typeof t=="string"&&typeof e=="number"?{display:"flex",flexDirection:t,"> *:not(:first-child)":{margin:0,[`margin${f(t)}`]:`${e}rem`}}:typeof t=="object"||typeof e=="object"?{...j(t,e!=null?e:1)}:{display:"flex"},S=b("div")(d),w=({children:t,direction:e="column",spacing:o=1})=>{const r={direction:e,spacing:o};return p.createElement(S,{ownerState:r},t)};export{w as default};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import i,{Children as
|
|
1
|
+
import i,{Children as x,useState as B,useRef as _,useEffect as A}from"react";import I from"./Tab.js";import d from"styled-components";import{mq as P}from"../../shared/media-queries.js";import{UnmountClosed as S}from"react-collapse";import"../Button/index.js";import"../../theme.js";import"../Spinner/index.js";import"../../typography/ButtonText/index.js";import"../Button/styles.js";import"../../utils/utils.js";const U=d.div`
|
|
2
2
|
.ReactCollapse--collapse {
|
|
3
3
|
transition: height 300ms;
|
|
4
4
|
}
|
|
5
|
-
`,
|
|
5
|
+
`,q=d.ul`
|
|
6
6
|
width: 100%;
|
|
7
7
|
padding: 0;
|
|
8
8
|
margin: 0.5rem 0;
|
|
@@ -11,14 +11,14 @@ import i,{Children as $,useState as k,useRef as I}from"react";import B from"./Ta
|
|
|
11
11
|
align-items: center;
|
|
12
12
|
flex-wrap: wrap;
|
|
13
13
|
|
|
14
|
-
${({theme:o,fullWidthBorder:
|
|
14
|
+
${({theme:o,fullWidthBorder:p})=>p?`border-bottom: 3px solid ${o.colors.gray.light6};`:`& > li {
|
|
15
15
|
border-bottom: 3px solid ${o.colors.gray.light6};
|
|
16
16
|
}`}
|
|
17
17
|
|
|
18
|
-
${
|
|
18
|
+
${P("mobileM")} {
|
|
19
19
|
flex-direction: row;
|
|
20
20
|
justify-content: ${({justify:o})=>o};
|
|
21
21
|
}
|
|
22
|
-
`,
|
|
22
|
+
`,F=d.div`
|
|
23
23
|
padding: 0.5rem 0;
|
|
24
|
-
`,
|
|
24
|
+
`,K=d.div``,E=({activeColor:o="secondary",justify:p="end",activeIndex:m,initalActive:b,children:j=[],kbNavAutoOpen:u=!0,onTabClick:C=()=>{},fullWidthBorder:v=!0})=>{var y,h;const s=x.map(j,e=>e),[l,a]=B(()=>b!=null?b:s.findIndex(e=>!e.props.isDisabled)),g=_([]),D=Boolean((h=(y=s[l])==null?void 0:y.props)==null?void 0:h.children),w=(e,t)=>{e.preventDefault(),a(t)};A(()=>{typeof m!="undefined"&&a(m)},[m]);const R=(e,t)=>{if(e.preventDefault(),e.key==="Enter"&&!u&&a(t),e.key==="ArrowLeft"||e.key==="ArrowRight"){const r=u?l:t,n=e.key==="ArrowRight",$=n?r+1:0,k=n?s.length:r,T=s.slice($,k);n||T.reverse();const f=T.findIndex(c=>!c.props.isDisabled);if(f!==-1){const c=n?r+(f+1):r-(f+1);u&&a(c),g.current[c].focus()}}};return i.createElement(U,null,i.createElement(S,{isOpened:!0},i.createElement(q,{fullWidthBorder:v,justify:p,role:"tablist"},s.map((e,t)=>e?i.createElement(I,{key:t,label:e.props.label,isDisabled:e.props.isDisabled,index:t,id:t,isActive:l===t,activeColor:o,onClick:(r,n)=>{e.props.isDisabled||(C(r,n),w(r,n))},onKeyUp:R,ref:r=>g.current[t]=r}):null)),D&&i.createElement(F,null,s.map((e,t)=>{const r=e.props.children&&l===t;return i.createElement(K,{key:t,id:`tabpanel-${t}`,role:"tabpanel","aria-labelledby":`tab-${t}`,"aria-hidden":r?"false":"true"},r&&e.props.children)}))))};export{E as Tabs,E as default};
|
package/package.json
CHANGED
|
@@ -22,9 +22,9 @@ declare type ResponsiveSpacing = {
|
|
|
22
22
|
};
|
|
23
23
|
interface OwnerState {
|
|
24
24
|
direction: ResponsiveDirection | FlexDirection;
|
|
25
|
-
spacing
|
|
25
|
+
spacing: ResponsiveSpacing | number;
|
|
26
26
|
}
|
|
27
|
-
export interface StackProps extends OwnerState {
|
|
27
|
+
export interface StackProps extends Partial<OwnerState> {
|
|
28
28
|
children: React.ReactNode;
|
|
29
29
|
}
|
|
30
30
|
declare const Stack: ({ children, direction, spacing }: StackProps) => JSX.Element;
|
|
@@ -7,11 +7,12 @@ declare type TabElement = ReactElement<TabProps>;
|
|
|
7
7
|
export interface TabsProps {
|
|
8
8
|
activeColor?: Color;
|
|
9
9
|
justify?: CSSProperties['justifyContent'];
|
|
10
|
+
activeIndex?: number;
|
|
10
11
|
initalActive?: number;
|
|
11
12
|
children: TabElement | TabElement[];
|
|
12
13
|
kbNavAutoOpen?: boolean;
|
|
13
14
|
onTabClick?: (e: React.MouseEvent<HTMLButtonElement, MouseEvent>, index: number) => void;
|
|
14
15
|
fullWidthBorder?: boolean;
|
|
15
16
|
}
|
|
16
|
-
export declare const Tabs: ({ activeColor, justify, initalActive, children, kbNavAutoOpen, onTabClick, fullWidthBorder, }: TabsProps) => JSX.Element;
|
|
17
|
+
export declare const Tabs: ({ activeColor, justify, activeIndex, initalActive, children, kbNavAutoOpen, onTabClick, fullWidthBorder, }: TabsProps) => JSX.Element;
|
|
17
18
|
export default Tabs;
|