@extrachill/components 0.4.10 → 0.4.11
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/CHANGELOG.md +5 -0
- package/dist/BlockShell.d.ts +2 -1
- package/dist/BlockShell.d.ts.map +1 -1
- package/dist/BlockShell.js +2 -1
- package/dist/ResponsiveTabs.d.ts +2 -1
- package/dist/ResponsiveTabs.d.ts.map +1 -1
- package/dist/ResponsiveTabs.js +8 -3
- package/package.json +1 -1
- package/src/BlockShell.tsx +3 -0
- package/src/ResponsiveTabs.tsx +9 -2
- package/styles/components.scss +15 -0
package/CHANGELOG.md
CHANGED
package/dist/BlockShell.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ export interface BlockShellProps {
|
|
|
5
5
|
classPrefix?: string;
|
|
6
6
|
compact?: boolean;
|
|
7
7
|
depth?: 0 | 1 | 2 | 3;
|
|
8
|
+
variant?: 'card' | 'plain';
|
|
8
9
|
}
|
|
9
|
-
export declare function BlockShell({ children, className, classPrefix, compact, depth, }: BlockShellProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export declare function BlockShell({ children, className, classPrefix, compact, depth, variant, }: BlockShellProps): import("react/jsx-runtime").JSX.Element;
|
|
10
11
|
//# sourceMappingURL=BlockShell.d.ts.map
|
package/dist/BlockShell.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlockShell.d.ts","sourceRoot":"","sources":["../src/BlockShell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,WAAW,eAAe;IAC/B,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"BlockShell.d.ts","sourceRoot":"","sources":["../src/BlockShell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,WAAW,eAAe;IAC/B,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC3B;AAED,wBAAgB,UAAU,CAAE,EAC3B,QAAQ,EACR,SAAc,EACd,WAA8B,EAC9B,OAAe,EACf,KAAS,EACT,OAAgB,GAChB,EAAE,eAAe,2CAUjB"}
|
package/dist/BlockShell.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
export function BlockShell({ children, className = '', classPrefix = 'ec-block-shell', compact = false, depth = 0, }) {
|
|
2
|
+
export function BlockShell({ children, className = '', classPrefix = 'ec-block-shell', compact = false, depth = 0, variant = 'card', }) {
|
|
3
3
|
const shellClass = [
|
|
4
4
|
classPrefix,
|
|
5
5
|
compact ? `${classPrefix}--compact` : '',
|
|
6
6
|
`${classPrefix}--depth-${depth}`,
|
|
7
|
+
`${classPrefix}--${variant}`,
|
|
7
8
|
className,
|
|
8
9
|
].filter(Boolean).join(' ');
|
|
9
10
|
return _jsx("div", { className: shellClass, children: children });
|
package/dist/ResponsiveTabs.d.ts
CHANGED
|
@@ -12,6 +12,7 @@ export interface ResponsiveTabsProps {
|
|
|
12
12
|
mobileBreakpoint?: number;
|
|
13
13
|
accordionClassName?: string;
|
|
14
14
|
showDesktopTabs?: boolean;
|
|
15
|
+
mobileEdgeToEdge?: boolean;
|
|
15
16
|
}
|
|
16
|
-
export declare function ResponsiveTabs({ tabs, active, onChange, renderPanel, className, classPrefix, tabsClassName, tabsClassPrefix, mobileBreakpoint, accordionClassName, showDesktopTabs, }: ResponsiveTabsProps): import("react/jsx-runtime").JSX.Element | null;
|
|
17
|
+
export declare function ResponsiveTabs({ tabs, active, onChange, renderPanel, className, classPrefix, tabsClassName, tabsClassPrefix, mobileBreakpoint, accordionClassName, showDesktopTabs, mobileEdgeToEdge, }: ResponsiveTabsProps): import("react/jsx-runtime").JSX.Element | null;
|
|
17
18
|
//# sourceMappingURL=ResponsiveTabs.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResponsiveTabs.d.ts","sourceRoot":"","sources":["../src/ResponsiveTabs.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAQ,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,WAAW,mBAAmB;IACnC,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,CAAE,EAAE,EAAE,MAAM,KAAM,IAAI,CAAC;IACjC,WAAW,EAAE,CAAE,EAAE,EAAE,MAAM,KAAM,SAAS,CAAC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ResponsiveTabs.d.ts","sourceRoot":"","sources":["../src/ResponsiveTabs.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAQ,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,WAAW,mBAAmB;IACnC,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,CAAE,EAAE,EAAE,MAAM,KAAM,IAAI,CAAC;IACjC,WAAW,EAAE,CAAE,EAAE,EAAE,MAAM,KAAM,SAAS,CAAC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAgB,cAAc,CAAE,EAC/B,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,WAAW,EACX,SAAc,EACd,WAAkC,EAClC,aAAkB,EAClB,eAA2B,EAC3B,gBAAsB,EACtB,kBAAuB,EACvB,eAAsB,EACtB,gBAAwB,GACxB,EAAE,mBAAmB,kDAmFrB"}
|
package/dist/ResponsiveTabs.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useEffect, useMemo, useState } from 'react';
|
|
3
3
|
import { Tabs } from "./Tabs.js";
|
|
4
|
-
export function ResponsiveTabs({ tabs, active, onChange, renderPanel, className = '', classPrefix = 'ec-responsive-tabs', tabsClassName = '', tabsClassPrefix = 'ec-tabs', mobileBreakpoint = 768, accordionClassName = '', showDesktopTabs = true, }) {
|
|
4
|
+
export function ResponsiveTabs({ tabs, active, onChange, renderPanel, className = '', classPrefix = 'ec-responsive-tabs', tabsClassName = '', tabsClassPrefix = 'ec-tabs', mobileBreakpoint = 768, accordionClassName = '', showDesktopTabs = true, mobileEdgeToEdge = false, }) {
|
|
5
5
|
const [isMobile, setIsMobile] = useState(() => {
|
|
6
6
|
if (typeof window === 'undefined') {
|
|
7
7
|
return false;
|
|
@@ -19,9 +19,14 @@ export function ResponsiveTabs({ tabs, active, onChange, renderPanel, className
|
|
|
19
19
|
window.addEventListener('resize', handleResize);
|
|
20
20
|
return () => window.removeEventListener('resize', handleResize);
|
|
21
21
|
}, [mobileBreakpoint]);
|
|
22
|
-
const rootClass = useMemo(() => [
|
|
22
|
+
const rootClass = useMemo(() => [
|
|
23
|
+
classPrefix,
|
|
24
|
+
isMobile ? `${classPrefix}--mobile` : `${classPrefix}--desktop`,
|
|
25
|
+
mobileEdgeToEdge ? `${classPrefix}--mobile-edge-to-edge` : '',
|
|
26
|
+
className,
|
|
27
|
+
]
|
|
23
28
|
.filter(Boolean)
|
|
24
|
-
.join(' '), [className, classPrefix, isMobile]);
|
|
29
|
+
.join(' '), [className, classPrefix, isMobile, mobileEdgeToEdge]);
|
|
25
30
|
if (tabs.length === 0) {
|
|
26
31
|
return null;
|
|
27
32
|
}
|
package/package.json
CHANGED
package/src/BlockShell.tsx
CHANGED
|
@@ -6,6 +6,7 @@ export interface BlockShellProps {
|
|
|
6
6
|
classPrefix?: string;
|
|
7
7
|
compact?: boolean;
|
|
8
8
|
depth?: 0 | 1 | 2 | 3;
|
|
9
|
+
variant?: 'card' | 'plain';
|
|
9
10
|
}
|
|
10
11
|
|
|
11
12
|
export function BlockShell( {
|
|
@@ -14,11 +15,13 @@ export function BlockShell( {
|
|
|
14
15
|
classPrefix = 'ec-block-shell',
|
|
15
16
|
compact = false,
|
|
16
17
|
depth = 0,
|
|
18
|
+
variant = 'card',
|
|
17
19
|
}: BlockShellProps ) {
|
|
18
20
|
const shellClass = [
|
|
19
21
|
classPrefix,
|
|
20
22
|
compact ? `${ classPrefix }--compact` : '',
|
|
21
23
|
`${ classPrefix }--depth-${ depth }`,
|
|
24
|
+
`${ classPrefix }--${ variant }`,
|
|
22
25
|
className,
|
|
23
26
|
].filter( Boolean ).join( ' ' );
|
|
24
27
|
|
package/src/ResponsiveTabs.tsx
CHANGED
|
@@ -14,6 +14,7 @@ export interface ResponsiveTabsProps {
|
|
|
14
14
|
mobileBreakpoint?: number;
|
|
15
15
|
accordionClassName?: string;
|
|
16
16
|
showDesktopTabs?: boolean;
|
|
17
|
+
mobileEdgeToEdge?: boolean;
|
|
17
18
|
}
|
|
18
19
|
|
|
19
20
|
export function ResponsiveTabs( {
|
|
@@ -28,6 +29,7 @@ export function ResponsiveTabs( {
|
|
|
28
29
|
mobileBreakpoint = 768,
|
|
29
30
|
accordionClassName = '',
|
|
30
31
|
showDesktopTabs = true,
|
|
32
|
+
mobileEdgeToEdge = false,
|
|
31
33
|
}: ResponsiveTabsProps ) {
|
|
32
34
|
const [ isMobile, setIsMobile ] = useState( () => {
|
|
33
35
|
if ( typeof window === 'undefined' ) {
|
|
@@ -53,10 +55,15 @@ export function ResponsiveTabs( {
|
|
|
53
55
|
}, [ mobileBreakpoint ] );
|
|
54
56
|
|
|
55
57
|
const rootClass = useMemo(
|
|
56
|
-
() => [
|
|
58
|
+
() => [
|
|
59
|
+
classPrefix,
|
|
60
|
+
isMobile ? `${ classPrefix }--mobile` : `${ classPrefix }--desktop`,
|
|
61
|
+
mobileEdgeToEdge ? `${ classPrefix }--mobile-edge-to-edge` : '',
|
|
62
|
+
className,
|
|
63
|
+
]
|
|
57
64
|
.filter( Boolean )
|
|
58
65
|
.join( ' ' ),
|
|
59
|
-
[ className, classPrefix, isMobile ]
|
|
66
|
+
[ className, classPrefix, isMobile, mobileEdgeToEdge ]
|
|
60
67
|
);
|
|
61
68
|
|
|
62
69
|
if ( tabs.length === 0 ) {
|
package/styles/components.scss
CHANGED
|
@@ -275,6 +275,14 @@
|
|
|
275
275
|
.ec-responsive-tabs__desktop-panel {
|
|
276
276
|
display: none;
|
|
277
277
|
}
|
|
278
|
+
|
|
279
|
+
.ec-responsive-tabs--mobile-edge-to-edge .ec-responsive-tabs__item {
|
|
280
|
+
margin-left: calc(var(--spacing-md, 1rem) * -1);
|
|
281
|
+
margin-right: calc(var(--spacing-md, 1rem) * -1);
|
|
282
|
+
border-left: 0;
|
|
283
|
+
border-right: 0;
|
|
284
|
+
border-radius: 0;
|
|
285
|
+
}
|
|
278
286
|
}
|
|
279
287
|
|
|
280
288
|
// Panel
|
|
@@ -298,6 +306,13 @@
|
|
|
298
306
|
gap: var(--spacing-lg, 1.5rem);
|
|
299
307
|
}
|
|
300
308
|
|
|
309
|
+
.ec-block-shell--plain {
|
|
310
|
+
background: transparent;
|
|
311
|
+
border: 0;
|
|
312
|
+
border-radius: 0;
|
|
313
|
+
padding: 0;
|
|
314
|
+
}
|
|
315
|
+
|
|
301
316
|
.ec-block-shell--depth-0 {
|
|
302
317
|
background: var(--card-background, #f1f5f9);
|
|
303
318
|
}
|