@edifice.io/react 2.2.11-develop-pedago.20250710120949 → 2.2.11-develop-pedago.20250710171345

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.
@@ -7,7 +7,7 @@ const Flex = ({
7
7
  justify,
8
8
  gap,
9
9
  fill,
10
- wrap = "wrap",
10
+ wrap,
11
11
  className,
12
12
  children,
13
13
  ...restProps
@@ -34,15 +34,19 @@ export interface TabsProps {
34
34
  */
35
35
  stickyTop?: number;
36
36
  /**
37
- * Additional class names for the Tabs component
37
+ * Additional class name for the tab header
38
38
  */
39
- className?: string;
39
+ headerClassName?: string;
40
+ /**
41
+ * Additional class name for the content area
42
+ */
43
+ contentClassName?: string;
40
44
  }
41
45
  /**
42
46
  * Tab Content displayed one at a time when a Tab Item is selected
43
47
  */
44
48
  export declare const Tabs: {
45
- ({ defaultId, items, fullWidth, fullHeight, onChange, children, isSticky, stickyTop, className, }: TabsProps): import("react/jsx-runtime").JSX.Element;
49
+ ({ defaultId, items, fullWidth, fullHeight, onChange, children, isSticky, stickyTop, headerClassName, contentClassName, }: TabsProps): import("react/jsx-runtime").JSX.Element;
46
50
  Item: {
47
51
  ({ icon, badge, label, id, order, }: TabsItemProps & {
48
52
  order: number;
@@ -50,7 +54,7 @@ export declare const Tabs: {
50
54
  displayName: string;
51
55
  };
52
56
  Panel: {
53
- ({ children, currentItem, fullHeight }: import('./TabsPanel').TabsPanelProps): import("react/jsx-runtime").JSX.Element;
57
+ ({ children, currentItem, fullHeight, className, }: import('./TabsPanel').TabsPanelProps): import("react/jsx-runtime").JSX.Element;
54
58
  displayName: string;
55
59
  };
56
60
  List: {
@@ -14,7 +14,8 @@ const Tabs = ({
14
14
  children,
15
15
  isSticky = !1,
16
16
  stickyTop = 0,
17
- className
17
+ headerClassName,
18
+ contentClassName
18
19
  }) => {
19
20
  const {
20
21
  activeTab,
@@ -37,8 +38,8 @@ const Tabs = ({
37
38
  onKeyDown
38
39
  }), [activeTab, items, onKeyDown, setSelectedTab, tabUnderlineLeft, tabUnderlineWidth, tabsRef]), currentItem = items.find((item) => item.id === activeTab);
39
40
  return /* @__PURE__ */ jsx(TabsContext.Provider, { value, children: typeof children == "function" ? children(currentItem) : /* @__PURE__ */ jsxs(Fragment, { children: [
40
- /* @__PURE__ */ jsx(Tabs.List, { fullWidth, isSticky, stickyTop, className }),
41
- /* @__PURE__ */ jsx(Tabs.Panel, { currentItem, fullHeight, children: currentItem == null ? void 0 : currentItem.content })
41
+ /* @__PURE__ */ jsx(Tabs.List, { fullWidth, isSticky, stickyTop, className: headerClassName }),
42
+ /* @__PURE__ */ jsx(Tabs.Panel, { currentItem, fullHeight, className: contentClassName, children: currentItem == null ? void 0 : currentItem.content })
42
43
  ] }) });
43
44
  };
44
45
  Tabs.Item = TabsItem;
@@ -1,4 +1,4 @@
1
- import { jsxs, jsx } from "react/jsx-runtime";
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import clsx from "clsx";
3
3
  import { useTabsContext } from "../context/TabsContext.js";
4
4
  import { Tabs } from "./Tabs.js";
@@ -19,15 +19,15 @@ const TabsList = (props) => {
19
19
  "position-sticky z-1": isSticky,
20
20
  "position-relative": !isSticky
21
21
  }, className);
22
- return /* @__PURE__ */ jsxs("div", { className: tabslist, ...restProps, style: isSticky ? {
22
+ return /* @__PURE__ */ jsx("div", { className: tabslist, ...restProps, style: isSticky ? {
23
23
  top: stickyTop
24
- } : void 0, children: [
25
- /* @__PURE__ */ jsx("ul", { className: ulClasses, role: "tablist", children: items.map((item, order) => /* @__PURE__ */ jsx(Tabs.Item, { order, ...item }, item.id)) }),
24
+ } : void 0, children: /* @__PURE__ */ jsxs("ul", { className: ulClasses, role: "tablist", children: [
25
+ items.map((item, order) => /* @__PURE__ */ jsx(Tabs.Item, { order, ...item }, item.id)),
26
26
  /* @__PURE__ */ jsx("span", { className: "nav-slide", style: {
27
27
  left: tabUnderlineLeft,
28
28
  width: tabUnderlineWidth
29
29
  } })
30
- ] });
30
+ ] }) });
31
31
  };
32
32
  export {
33
33
  TabsList as default
@@ -13,9 +13,13 @@ export interface TabsPanelProps {
13
13
  * Whether tabs should take full available height
14
14
  */
15
15
  fullHeight?: boolean;
16
+ /**
17
+ * Additional class name for the content area
18
+ */
19
+ className?: string;
16
20
  }
17
21
  declare const TabsPanel: {
18
- ({ children, currentItem, fullHeight }: TabsPanelProps): import("react/jsx-runtime").JSX.Element;
22
+ ({ children, currentItem, fullHeight, className, }: TabsPanelProps): import("react/jsx-runtime").JSX.Element;
19
23
  displayName: string;
20
24
  };
21
25
  export default TabsPanel;
@@ -1,16 +1,17 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
- import { useTabsContext } from "../context/TabsContext.js";
3
2
  import clsx from "clsx";
3
+ import { useTabsContext } from "../context/TabsContext.js";
4
4
  const TabsPanel = ({
5
5
  children,
6
6
  currentItem,
7
- fullHeight
7
+ fullHeight,
8
+ className
8
9
  }) => {
9
10
  const {
10
11
  activeTab
11
12
  } = useTabsContext(), contentClasses = clsx("tab-content d-flex flex-fill w-100", {
12
13
  "position-relative h-100": fullHeight
13
- });
14
+ }, className);
14
15
  return /* @__PURE__ */ jsx("div", { className: contentClasses, children: /* @__PURE__ */ jsx("div", { className: `tab-pane flex-fill w-100 fade ${activeTab === (currentItem == null ? void 0 : currentItem.id) ? "show active" : ""}`, id: `tabpanel-${currentItem == null ? void 0 : currentItem.id}`, role: "tabpanel", "aria-labelledby": `tab-${currentItem == null ? void 0 : currentItem.id}`, tabIndex: 0, children }) });
15
16
  };
16
17
  export {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@edifice.io/react",
3
- "version": "2.2.11-develop-pedago.20250710120949",
3
+ "version": "2.2.11-develop-pedago.20250710171345",
4
4
  "description": "Edifice React Library",
5
5
  "keywords": [
6
6
  "react",
@@ -130,9 +130,9 @@
130
130
  "react-slugify": "^3.0.3",
131
131
  "swiper": "^10.1.0",
132
132
  "ua-parser-js": "^1.0.36",
133
- "@edifice.io/bootstrap": "2.2.11-develop-pedago.20250710120949",
134
- "@edifice.io/tiptap-extensions": "2.2.11-develop-pedago.20250710120949",
135
- "@edifice.io/utilities": "2.2.11-develop-pedago.20250710120949"
133
+ "@edifice.io/bootstrap": "2.2.11-develop-pedago.20250710171345",
134
+ "@edifice.io/tiptap-extensions": "2.2.11-develop-pedago.20250710171345",
135
+ "@edifice.io/utilities": "2.2.11-develop-pedago.20250710171345"
136
136
  },
137
137
  "devDependencies": {
138
138
  "@babel/plugin-transform-react-pure-annotations": "^7.23.3",
@@ -163,8 +163,8 @@
163
163
  "vite": "^5.4.11",
164
164
  "vite-plugin-dts": "^4.1.0",
165
165
  "vite-tsconfig-paths": "^5.0.1",
166
- "@edifice.io/client": "2.2.11-develop-pedago.20250710120949",
167
- "@edifice.io/config": "2.2.11-develop-pedago.20250710120949"
166
+ "@edifice.io/client": "2.2.11-develop-pedago.20250710171345",
167
+ "@edifice.io/config": "2.2.11-develop-pedago.20250710171345"
168
168
  },
169
169
  "peerDependencies": {
170
170
  "@react-spring/web": "^9.7.5",