@soyfri/shared-library 1.2.1 → 1.3.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.
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const e=e=>null;e.displayName="Tab",exports.Tab=e,exports.default=e;
2
+ //# sourceMappingURL=TabItem.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TabItem.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../_virtual/jsx-runtime.cjs"),l=require("react"),r=require("@mui/material"),o=require("./_tabUtils.cjs");const s=({children:s,defaultValue:a,onChange:t,centered:n=!0,orientation:i="horizontal",scrollButtons:u="auto",variant:c="standard",indicatorColor:x="primary",labelColor:d="primary",className:p,onChangeValue:m,allowScrollButtonsMobile:v=!0,sx:j})=>{var b,h;const B=null===(b=s[0])||void 0===b?void 0:b.props.value,[_,C]=l.useState(null!==(h=null!=a?a:B)&&void 0!==h?h:0);return e.jsxRuntimeExports.jsxs(r.Box,{sx:{display:o.TAB_DISPLAY_MAP[i].display,flexDirection:o.TAB_DISPLAY_MAP[i].flexDirection},children:[e.jsxRuntimeExports.jsx(r.Tabs,{value:_,onChange:(e,l)=>{C(l),null==t||t(),null==m||m(l)},centered:n,indicatorColor:x,orientation:i,scrollButtons:u,variant:c,className:p,textColor:d,sx:j,allowScrollButtonsMobile:v,children:s.map(((l,o)=>{const{label:s,icon:a,value:t=o,disabled:n,wrapped:i,iconPosition:u,className:c,sx:x}=l.props;return e.jsxRuntimeExports.jsx(r.Tab,{label:s,icon:a,value:t,disabled:n,wrapped:i,iconPosition:u,className:c,sx:x},t)}))}),e.jsxRuntimeExports.jsx(r.Box,{m:2,role:"tabpanel",children:s.map(((l,o)=>{var s;const a=null!==(s=l.props.value)&&void 0!==s?s:o;return a===_?e.jsxRuntimeExports.jsx(r.Box,{children:l.props.children},a):null}))})]})};exports.Tabs=s,exports.default=s;
2
+ //# sourceMappingURL=Tabs.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tabs.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";exports.TAB_DISPLAY_MAP={horizontal:{display:"flex",flexDirection:"column"},vertical:{display:"flex",flexDirection:"row"}};
2
+ //# sourceMappingURL=_tabUtils.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_tabUtils.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";var s=require("./tabs/Tabs.cjs"),a=require("./tabs/TabItem.cjs");exports.Tabs=s.Tabs,exports.TabItem=a.Tab;
2
+ //# sourceMappingURL=tabs.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabs.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ export * from '../../esm/components/Modal';
@@ -0,0 +1 @@
1
+ export * from '../../esm/components/tabs';
@@ -0,0 +1,28 @@
1
+ import React from 'react';
2
+ import { DialogProps } from '@mui/material/Dialog';
3
+ import { ModalAction, ModalFooter } from './ModalFooter';
4
+ import { ModalHeader } from './ModalHeader';
5
+ import { ModalBody } from './ModalBody';
6
+ export interface ModalRef {
7
+ open: () => void;
8
+ close: () => void;
9
+ }
10
+ interface ModalProps {
11
+ open?: boolean;
12
+ onClose?: () => void;
13
+ title?: string;
14
+ children: React.ReactNode;
15
+ showCloseButton?: boolean;
16
+ closeButtonText?: string;
17
+ closeButtonDisabled?: boolean;
18
+ actions?: ModalAction[];
19
+ maxWidth?: DialogProps['maxWidth'];
20
+ }
21
+ export declare const Modal: React.ForwardRefExoticComponent<ModalProps & React.RefAttributes<ModalRef>>;
22
+ type ModalComponent = React.ForwardRefExoticComponent<ModalProps & React.RefAttributes<ModalRef>> & {
23
+ Header: typeof ModalHeader;
24
+ Body: typeof ModalBody;
25
+ Footer: typeof ModalFooter;
26
+ };
27
+ declare const ModalWithStatics: ModalComponent;
28
+ export default ModalWithStatics;
@@ -0,0 +1,12 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ import Modal from './Modal';
3
+ declare const meta: Meta<typeof Modal>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof Modal>;
6
+ export declare const Default: Story;
7
+ export declare const ImperativeControl: Story;
8
+ export declare const CompleteStructure: Story;
9
+ export declare const NoDefaultCloseButton: Story;
10
+ export declare const DisabledCloseButton: Story;
11
+ export declare const Sizing: Story;
12
+ export declare const LongContent: Story;
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ interface ModalBodyProps {
3
+ children: React.ReactNode;
4
+ }
5
+ export declare const ModalBody: React.FC<ModalBodyProps>;
6
+ export default ModalBody;
@@ -0,0 +1,19 @@
1
+ import React from 'react';
2
+ import { ButtonProps } from '@mui/material/Button';
3
+ export interface ModalAction {
4
+ text: string;
5
+ onClick: () => void;
6
+ disabled?: boolean;
7
+ variant?: ButtonProps['variant'];
8
+ color?: ButtonProps['color'];
9
+ }
10
+ export interface ModalFooterProps {
11
+ children?: React.ReactNode;
12
+ showCloseButton?: boolean;
13
+ closeButtonText?: string;
14
+ closeButtonDisabled?: boolean;
15
+ onClose: () => void;
16
+ actions?: ModalAction[];
17
+ }
18
+ export declare const ModalFooter: React.FC<ModalFooterProps>;
19
+ export default ModalFooter;
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ interface ModalHeaderProps {
3
+ children: React.ReactNode;
4
+ }
5
+ export declare const ModalHeader: React.FC<ModalHeaderProps>;
6
+ export default ModalHeader;
@@ -0,0 +1,4 @@
1
+ export { default as Modal } from './Modal';
2
+ export { default as ModalBody } from './ModalBody';
3
+ export { default as ModalFooter } from './ModalFooter';
4
+ export { default as ModalHeader } from './ModalHeader';
@@ -0,0 +1,2 @@
1
+ export declare const DefaultTabDefinition: string;
2
+ export declare const ScrollTabDefinition: string;
@@ -0,0 +1,13 @@
1
+ import React from "react";
2
+ import { TabProps as MuiTabProps } from "@mui/material";
3
+ type PickMuiTabProps = Pick<MuiTabProps, "label" | "icon" | "disabled" | "sx" | "value" | "wrapped" | "iconPosition" | "className" | "disabled" | 'disableRipple'>;
4
+ export interface TabProps extends PickMuiTabProps {
5
+ value?: number;
6
+ onChange?: () => void;
7
+ children?: React.ReactNode;
8
+ }
9
+ export declare const Tab: {
10
+ (_: TabProps): null;
11
+ displayName: string;
12
+ };
13
+ export default Tab;
@@ -0,0 +1,2 @@
1
+ const a=a=>null;a.displayName="Tab";export{a as Tab,a as default};
2
+ //# sourceMappingURL=TabItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TabItem.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,19 @@
1
+ import React, { ReactElement } from "react";
2
+ import { TabsProps as MuiTabsProps } from "@mui/material";
3
+ import { TabProps } from "./TabItem";
4
+ type PickTabsProps = Pick<MuiTabsProps, "centered" | "indicatorColor" | "orientation" | "scrollButtons" | "variant" | "className" | "sx" | "visibleScrollbar" | 'indicatorColor' | 'allowScrollButtonsMobile'>;
5
+ interface MyTabsProps extends PickTabsProps {
6
+ children: ReactElement<TabProps>[];
7
+ defaultValue?: number;
8
+ onChange?: () => void;
9
+ centered?: boolean;
10
+ orientation?: "horizontal" | "vertical";
11
+ scrollButtons?: "auto" | false | true;
12
+ variant?: "standard" | "scrollable" | "fullWidth";
13
+ indicatorColor?: "primary" | "secondary";
14
+ labelColor?: "primary" | "secondary" | "inherit";
15
+ onChangeValue?: (newValue: number) => void;
16
+ allowScrollButtonsMobile?: boolean;
17
+ }
18
+ export declare const Tabs: React.FC<MyTabsProps>;
19
+ export default Tabs;
@@ -0,0 +1,2 @@
1
+ import{j as l}from"../../_virtual/jsx-runtime.js";import{useState as o}from"react";import{Box as a,Tabs as r,Tab as e}from"@mui/material";import{TAB_DISPLAY_MAP as n}from"./_tabUtils.js";const i=({children:i,defaultValue:s,onChange:t,centered:c=!0,orientation:u="horizontal",scrollButtons:d="auto",variant:p="standard",indicatorColor:m="primary",labelColor:x="primary",className:v,onChangeValue:b,allowScrollButtonsMobile:h=!0,sx:j})=>{var f,C;const w=null===(f=i[0])||void 0===f?void 0:f.props.value,[y,B]=o(null!==(C=null!=s?s:w)&&void 0!==C?C:0);return l.jsxs(a,{sx:{display:n[u].display,flexDirection:n[u].flexDirection},children:[l.jsx(r,{value:y,onChange:(l,o)=>{B(o),null==t||t(),null==b||b(o)},centered:c,indicatorColor:m,orientation:u,scrollButtons:d,variant:p,className:v,textColor:x,sx:j,allowScrollButtonsMobile:h,children:i.map(((o,a)=>{const{label:r,icon:n,value:i=a,disabled:s,wrapped:t,iconPosition:c,className:u,sx:d}=o.props;return l.jsx(e,{label:r,icon:n,value:i,disabled:s,wrapped:t,iconPosition:c,className:u,sx:d},i)}))}),l.jsx(a,{m:2,role:"tabpanel",children:i.map(((o,r)=>{var e;const n=null!==(e=o.props.value)&&void 0!==e?e:r;return n===y?l.jsx(a,{children:o.props.children},n):null}))})]})};export{i as Tabs,i as default};
2
+ //# sourceMappingURL=Tabs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tabs.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import type { Meta, StoryObj } from "@storybook/react";
2
+ import Tabs from "./Tabs";
3
+ declare const meta: Meta<typeof Tabs>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof Tabs>;
6
+ export declare const DefaultTab: Story;
7
+ export declare const ScrollTab: Story;
8
+ export declare const VeriticalTab: Story;
@@ -0,0 +1,4 @@
1
+ export declare const TAB_DISPLAY_MAP: Record<"horizontal" | "vertical", {
2
+ display: string;
3
+ flexDirection: string;
4
+ }>;
@@ -0,0 +1,2 @@
1
+ const l={horizontal:{display:"flex",flexDirection:"column"},vertical:{display:"flex",flexDirection:"row"}};export{l as TAB_DISPLAY_MAP};
2
+ //# sourceMappingURL=_tabUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_tabUtils.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export { default as Tabs } from './Tabs';
2
+ export { default as TabItem } from './TabItem';
@@ -0,0 +1,2 @@
1
+ export{Tabs}from"./tabs/Tabs.js";export{Tab as TabItem}from"./tabs/TabItem.js";
2
+ //# sourceMappingURL=tabs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabs.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@soyfri/shared-library",
3
- "version": "1.2.1",
3
+ "version": "1.3.0",
4
4
  "type": "module",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.esm.js",
@@ -40,6 +40,11 @@
40
40
  "require": "./cjs/components/timeline.cjs",
41
41
  "types": "./esm/components/timeline/timeline.d.ts"
42
42
  },
43
+ "./components/tabs": {
44
+ "import": "./esm/components/tabs.js",
45
+ "require": "./cjs/components/tabs.cjs",
46
+ "types": "./esm/components/tabs/tabs.d.ts"
47
+ },
43
48
  "./components/Table": {
44
49
  "import": "./esm/components/Table.js",
45
50
  "require": "./cjs/components/Table.cjs",
@@ -55,6 +60,11 @@
55
60
  "require": "./cjs/components/Select.cjs",
56
61
  "types": "./esm/components/Select/Select.d.ts"
57
62
  },
63
+ "./components/Modal": {
64
+ "import": "./esm/components/Modal.js",
65
+ "require": "./cjs/components/Modal.cjs",
66
+ "types": "./esm/components/Modal/Modal.d.ts"
67
+ },
58
68
  "./components/MenuButton": {
59
69
  "import": "./esm/components/MenuButton.js",
60
70
  "require": "./cjs/components/MenuButton.cjs",